2017-02-19 2 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. Вероятно, это отображает page_about_love и page_about_love * s *, если мое предположение верно. Mongoose превращает название модели в ее множественную форму для коллекции. – Adowrath

ответ

2

Чтобы предотвратить Mongoose генерируя имя коллекции для использования, вы должны быть четко и передать, какое имя коллекции он должен использовать:

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

В противном случае Mongoose применит t he utils.toCollectionName() функция имени модели, чтобы определить имя коллекции, которое в вашем случае даст page_about_loves (обратите внимание на плюрализацию).

Дополнительная информация here.

Смежные вопросы