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 です。