Mongoose returns undefined for an existing field
After a mongoose request I have my document doc
which is the result of the query
Here is the schema used
var searchSchema = new mongoose.Schema({
original : String,
images : [String],
image: String
});
The model :
var searchModel = mongoose.model('Search', searchSchema);
Code used:
searchModel.findOne({original : input}, function (err, doc) {
if (err) {
console.log(err);
}
if (typeof doc !== "undefined") {
console.log(doc);
console.log(doc.image);
}
});
The first console.log
:
{
_id: 531401bf714420359fd929c9,
image: 'http://url.com/image.jpg',
original: 'lorem ipsum dolor sit amet'
}
The second returns undefined
, but the previous one does show an existing image
property, which means that it exists.
My schema doesn't have anything special so I don't understand what may be happening here..
You'll see this when you haven't added the field to your schema.
Add image
to your schema and it should work:
image: String
This is do to the fact that the toString() method of the object returns the _doc property. You can use: console.log(doc._doc.image);
Try to use the bracket notation like that:
doc['image']
If it works, I'm not able to explain you why, but maybe someone could shed some light on this?
链接地址: http://www.djcxy.com/p/77880.html上一篇: 执行异步查询Azure表存储的最佳方法
下一篇: Mongoose返回未定义的现有字段