2017-02-19 84 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