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