【发布时间】:2014-09-22 22:15:51
【问题描述】:
我在 node.js 上为 mongodb 使用 mongoose 驱动程序。我有一个如下架构。
使用 db.model 我可以获得具有硬编码集合名称“聚合”的模型。它工作正常。
但是如何使用带有动态按需集合名称的架构/模型?基本上,我需要按需定义一个新的集合,它会使用相同的模式。
聚合模型.js
var mongoose = require('mongoose');
var db = mongoose.createConnection(configfile.mongodb.uriAggregation);
var aggregationSchema = mongoose.Schema({
factorname : { type: String, index: true },
active : { type: Boolean},
total : [{
_id : { type: Number, index: true },
ordervolume : Number,
ordertips : Number,
ordernationality : String,
ordercancelled : Number
}
]
});
module.exports = db.model('aggregation', aggregationSchema, 'aggregation');
controller.js(此文件引用模型)
var Aggregates = require('../models/aggregationmodel.js');
【问题讨论】:
-
哪一部分给你带来了麻烦?您可以对多个模型使用相同的模式。只需使用不同的模型和集合名称再次调用
db.model。 -
来自controller.js 如何将参数(集合名称)传递给aggregationmodel.js?
-
你没有。您将更改导出模型和架构的方法或使用该架构创建新模型的函数。
标签: javascript node.js mongodb mongoose