Q:

How to get array of json objects rather than mongoose documents

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?

A:

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
});

A:

.exec(function(err, docs){
    docs= docs.map(o => o.toObject());

This will include virtuals and getters

