2017-02-19 58 views
0

我通过MongoDB Shell越来越文档:为什么我无法通过猫鼬获取文档?

db.page_about_love.find() 

但我无法通过猫鼬得到的文档。哪里不对?

mongoose.connect(db_uri); 

var loveSchema = new mongoose.Schema({ 
    title: String, 
    content: String, 
    tag: String 
}); 

mongoose.model('page_about_love', loveSchema); 

var about = mongoose.model('page_about_love'); 
about.find(function (err, love) { 
    if (err) return console.error(err); 
    console.log(love); 
}); 

测试输出:

[] 
+1

使用db.page,然后在mongodb shell中选项卡。如果我的假设是正确的,它可能会显示page_about_love和page_about_love * s *。猫鼬将模型的名称变为其复数形式。 – Adowrath

回答

2

为了防止猫鼬生成集合名称来使用,你应该是明确的,通过它应该使用的集合名称:

var loveSchema = new mongoose.Schema({ 
    title: String, 
    content: String, 
    tag: String 
}, { collection : 'page_about_love' }); 

否则,猫鼬将适用t他utils.toCollectionName()功能的模型名称来确定集合名称,这在你的情况下会产生page_about_loves(注意复数形式)。

更多信息here