我正在尝试根据特定的id
创建不同的集合,我这样做的方式是:
db.save({...}, 'collection_' + id).then(function() {
deferred.resolve();
});
这很好用,我可以在我的数据库中看到新的集合。
然而,当我试图加载这些数据时,它不起作用,因为mongoose强迫它是plurar。
var Items = mongoose.model('collection_' + id, MySchema);
Items.count(function(err, count) {
console.log(count); = 0
});
id
是完全动态的,并且根据我的每个请求而有所不同,如何阻止mongoose
向每个集合名称添加's'?
答案 0 :(得分:1)
您可以按如下方式显式设置模型的集合名称:
var collectionName = 'collection_' + id;
var Items = mongoose.model(collectionName, MySchema, collectionName);
// ^Change this if you want ^This sets the collection name
检查此answer以了解设置集合名称的更多方法。