如何修改 Mongoose 查询返回的对象?
假设我们有以下架构:
var S = new mongoose.Schema( { 'name': String, 'field': String } );
我对结果进行以下查询和修改:
var retrieve = function(name, callback) {
S.findOne({ name: name }).exec(function (err, obj) {
if (err) return handleError(err);
obj['field'] = 'blah';
callback(obj);
});
}
将obj.field
不包含blah
查询返回的原始值,就好像它是只读的一样。到底是怎么回事?
注意:我的环境是 Node.js、Express、Mongoose 和 MongoDB