mongoose复数集合的定义

我试图创build基于特定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是完全dynamic的,根据我的要求而不同,我怎样才能阻止mongoose在每个集合名称中加上's'?

您可以显式设置模型的集合名称,如下所示:

 var collectionName = 'collection_' + id; var Items = mongoose.model(collectionName, MySchema, collectionName); // ^Change this if you want ^This sets the collection name 

选中此答案可以设置集合名称的更多方法。