When I do the .find
operation like the following:
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?
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 });
.exec(function(err, docs){ docs= docs.map(o => o.toObject());
This will include virtuals and getters
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With