![](/img/trans.png)
[英]find in mongoose returns nothing when there is a non existing field in the schema
[英]Mongoose returns undefined for an existing field
在貓鼬請求之后,我有我的文檔doc
,這是查詢的結果
這是使用的架構
var searchSchema = new mongoose.Schema({
original : String,
images : [String],
image: String
});
該模型 :
var searchModel = mongoose.model('Search', searchSchema);
使用的代碼:
searchModel.findOne({original : input}, function (err, doc) {
if (err) {
console.log(err);
}
if (typeof doc !== "undefined") {
console.log(doc);
console.log(doc.image);
}
});
第一個console.log
:
{
_id: 531401bf714420359fd929c9,
image: 'http://url.com/image.jpg',
original: 'lorem ipsum dolor sit amet'
}
第二個返回undefined
,但前一個確實顯示了一個現有的image
屬性,這意味着它存在。
我的架構沒有任何特別之處,所以我不明白這里可能發生什么..
當您尚未將該字段添加到架構時,您會看到這一點。
將image
添加到您的架構中,它應該可以工作:
image: String
這是因為對象的 toString() 方法返回 _doc 屬性。 您可以使用: console.log(doc._doc.image);
我遇到了同樣的錯誤,但是像這樣訪問屬性doc[0].image
工作正常。
嘗試使用這樣的括號表示法:
doc['image']
如果它有效,我無法向您解釋原因,但也許有人可以對此有所了解?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.