2
我用猫鼬用我的MongoDB的文档工作,有你的模型:如何在使用猫鼬时实现工厂模式?
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); ???
});
我需要知道与类似模型一起工作的最佳实践,并从工厂或其他东西创建实例。
请分享你的经验。
感谢您的回答。我不能创建单一模型,因为彼此有不同的领域。 – Erik 2015-02-23 16:01:17
您可以只定义所有可能的字段,然后不使用它们(字段'未定义'不是由Mongoose存储在Mongo中) – Qualcuno 2015-02-23 16:02:33
由于逻辑和数据不同,我不希望在单个模型中存储所有可能的字段。我正在寻找解决方案来创建工厂。 – Erik 2015-02-23 16:23:11