Mongoose复数集合定义

时间:2015-04-17 07:36:42

标签: node.js mongoose

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

1 个答案:

答案 0 :(得分:1)

您可以按如下方式显式设置模型的集合名称:

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

检查此answer以了解设置集合名称的更多方法。