У меня есть следующие данные в моем MongoDB, смоделированные с помощью моей модели Person:
{ _id: 135, name: 'Alfie', age: 26 }
{ _id: 217, name: 'Ronny', age: 34 }
{ _id: 400, name: 'Sandy', age: 45 }
{ _id: 676, name: 'William', age: 24 }
{ _id: 987, name: 'Debra', age: 31 }
{ _id: 356, name: 'Kevin', age: 47 }
Теперь я запускаю следующий запрос:
const findQuery = Person.find({ _id: { $lt: 300 } }).select({ name: 1 })
findQuery.exec().then(doc => {
for (let person of doc) {
console.log(person)
console.log(person._id)
console.log(person.name)
}
}
Выход:
{ _id: 135, name: 'Alfie' }
135
undefined
{ _id: 217, name: 'Ronny' }
217
undefined
Мой вопрос: почему строка, содержащаяся в person.name
возвращает undefined
? где, когда сам объект и person._id возвращаются правильно.
Я нашел ответ, name
отсутствовало в mongoose.Schema, поэтому оно не могло найти значение, даже если оно присутствовало в базе данных.