2014-03-13 34 views
11

它一切正常,直到我想创建一个名为'小鼠'的集合为例。鼠标和鼠标都是不可接受的。如果有一个选项可以在配置中设置这个选项,会很好。 评论:谢谢你的建议,我正在使用猫鼬。有没有办法阻止MongoDB向集合名称添加复数形式?

+0

你是什么意思? MongoDB在做什么?我从来不知道这个功能 – Sammaye

+1

也许你可以指定你正在使用的ODM,因为它是那个添加复数名字的。通常会有一种方法来解决这个问题。 –

+2

[Mongoose - Force collection name]的可能重复(http://stackoverflow.com/questions/7486528/mongoose-force-collection-name) – WiredPrairie

回答

30

如果您将模型命名为'mouse',Mongoose实际上会将集合名称正确地复制到'mice'中(请参见source code)。

但你也可以明确地把它当作第三个参数model创建模型时指定您的收藏:mongoose.model的

var Mice = mongoose.model('Mice', MouseSchema, 'Mice'); 
0

API的结构是这样的: 猫鼬#模型(名称,[模式],[集合],[skipInit])

什么猫鼬做的是,当没有收集参数传递时,Mongoose通过复制模型名称产生集合名称。如果您不喜欢这种行为,请传递集合名称或设置您的模式集合名称选项。

VAR模式=新架构({名称:字符串},{集合: '演员'});

//或

schema.set( '集合', '演员');

//

变种集合名= '演员' 变种M = mongoose.model( '演员',模式集合名);

有关更多信息,请点击此链接: http://mongoosejs.com/docs/api.html#index_Mongoose-model

相关问题