How to get array of json objects rather than mongoose documents


Question

When I do find operation like the follows:

Collection.find({name: 'Erik'}, function (err, docs) {
   // do momething
});

'docs' variable is populated with an array of fully functional mongoose documents. But I need to get an array of pure JSON objects.

I know I can loop through the 'docs' array by forEach and get an objects by using .toJSON() method. Does mongoose support the feature I'm interested?

1
20
8/31/2012 7:37:45 AM

If you're using Mongoose 3.x you can use the lean query option to do this:

Collection.find({name: 'Erik'}).lean().exec(function (err, docs) {
    // docs are plain javascript objects instead of model instances
});
34
8/31/2012 2:01:28 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon