2014-11-04 50 views
0

上的猫鼬读了它看来,如果我宣布一个猫鼬模型是这样的:猫鼬复数规则不工作

var User = mongoose.model('user', userSchema) 

然后猫鼬将创建一个名为“用户”集合(与“S”)。

但是,我已经在mongo中手动创建了一个名为“Regions”的集合。当我尝试宣告我的猫鼬模型,它看起来像这样:

var Region = mongoose.model('Region', regionSchema) 

但是当我尝试返回使用Region.find()的所有对象,返回结果为零。 所以我然后尝试:

var Region = mongoose.model('Regions', regionSchema) 

而且这也返回零结果。

最后,我不得不这样做:

var Region = mongoose.model('Region', regionSchema, 'Results') 

如果猫鼬有复数规则,我怎么就还需要集合名称中传递,以便为它找到的数据?

回答

1

这是因为猫鼬都将模型名称复数化并将其转换为小写。所以模型名称为'Region'它正在寻找regions集合。

所以你需要在model呼叫提供一个明确的集合名称(如您展示),但与'Regions'集合名称:

var Region = mongoose.model('Region', regionSchema, 'Regions') 
+0

党!感谢您的信息:o) – 2014-11-04 16:54:39