如何修改Mongoose查询返回的对象?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的,快速,猫鼬和MongoDB
可能重复[你为什么不能修改返回的数据一个Mongoose查询(例如:findById)](http://stackoverflow.com/questions/14504385/why-cant-you-modify-the-data-returned-by-a-mongoose-query-ex-findbyid) – steampowered 2015-08-21 03:00:22