我正在尝试根据特定id
创建不同的集合,我这样做的方法是:
db.save({...}, 'collection_' + id).then(function() {
deferred.resolve();
});
这工作正常,我可以在我的数据库中看到新集合。
但是,当我尝试加载这些数据时,它不起作用,因为猫鼬迫使它变得多余。
var Items = mongoose.model('collection_' + id, MySchema);
Items.count(function(err, count) {
console.log(count); = 0
});
id
是完全动态的,并且因我发出的每个请求而异,如何阻止mongoose
为每个集合名称添加"s"?
可以显式设置模型的集合名称,如下所示:
var collectionName = 'collection_' + id;
var Items = mongoose.model(collectionName, MySchema, collectionName);
// ^Change this if you want ^This sets the collection name
查看此答案以获取设置集合名称的更多方法。