我正在使用mongoose来处理我的MongoDB文档并拥有以下模型: module.exports = mongoose.model('Doc', mongoose.Schema({ type: 'doc'}, collection: "doc");module.exports = mongoose.model('Folder', mongoose.Schema({ type: 'folder'
module.exports = mongoose.model('Doc', mongoose.Schema({ type: 'doc' }, collection: "doc"); module.exports = mongoose.model('Folder', mongoose.Schema({ type: 'folder' }, collection: "doc"); module.exports = mongoose.model('Unit', mongoose.Schema({ type: 'unit' }, collection: "doc");
在某些时候(例如,在ajax请求中)我需要创建几种类型的模型:
app.post('/doc/create/:type', function (req, res, next) { var type = req.params.type; var data = req.body; // how to create model based on incoming type here? // var model = new Factory.create(type); ??? });
我需要了解使用类似模型的最佳实践,并从工厂或其他方面创建实例.
请分享您的经验.
您可以使用以下内容从字符串中获取模型:var mongoose = require('mongoose') var model = mongoose.model('Unit')
PS:如果这是解决问题的方法,我想知道你设计数据库模型的方式是否合适!你不能用索引的“类型”属性创建单个模型“Doc”吗?它在许多方面会更有效率.