猫鼬复数集合定义



我正在尝试根据特定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  

查看此答案以获取设置集合名称的更多方法。

最新更新