Is data returned from Mongoose immutable?
mongodb, mongoose
Solution
One way to handle this is to convert your mongoose model instance into a plain object that you have full control over by calling `toObject()` on it:
User.findById(userId, function(err, data) {
if (!err) {
data = data.toObject();
data.newvar = 'Hello, world';
}
});
If you want a more structured solution, you can add virtual attributes to your schema as described here.
Problem
I want to add to the return data from a mongoose query: ``` User.findById(userId, function(err, data) { if (!err) { data.newvar = 'Hello, world'; } }); ``` However, when I console log the output, the newvar does not exist. I've also tried this using Underscore's extend: ``` _.extend(data, {'newvar': 'Hello, world'}); ``` With no luck either. Since I have nested documents, using a shallow copy won't work. Is there any way to append data here?