什么是在mongodb记录中更新数组值的最佳方法?目前,我的尝试方式如下:
Record.find({ 'owner': owner}, {}, {sort: { date: -1 }}, function(err, record){
if(!err){
for (var i = 0; i < record[0].array.length; i++){
record[0].array[i].score = 0;
record[0].array[i].changed = true;
record[0].save();
}
}
});
下面是该架构图:
var recordSchema = mongoose.Schema({
owner: {type: String},
date: {type: Date, default: Date.now},
array: mongoose.Schema.Types.Mixed
});
目前,我可以看到数组被更新了,在保存时也没有报错,但是当我再次查询数据库时,数组并没有被更新。
null
而不是一个空对象。Mongoose文档 - max