[英]Mongoose query returning undefined for strings
我的 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 正确返回。
我找到了答案,mongoose.Schema 中缺少name
,因此它找不到该值,即使它存在于数据库中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.