簡體   English   中英

Mongoose 為現有字段返回 undefined

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM