Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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..

like image 656
nialna2 Avatar asked Mar 03 '14 05:03

nialna2


1 Answers

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
like image 132
JohnnyHK Avatar answered Nov 08 '22 11:11

JohnnyHK