我试图用猫鼬更新MongoDB中的字段值。但是,它无法正确更新。
这是我到目前为止所拥有的:
Test.findById(987456, function(err, doc) {
if (doc) {
var map = doc.data;
map['2019-07-07'] = {
TAS: "111",
TWS: "222",
TSWD: "333"
}
doc.set('data', map)
doc.save((err, doc1) => {
if(err) console.log(err);
else{
console.log(doc1)
}
});
}
})
这是我的模式
var test = new Schema({
data: { type: Schema.Types.Mixed, default: {} },
})
var Test = mongoose.model('test', test);
在data
字段中进行更新之前的数据为{ '2019-06-06': { TWS: '4', TAS: '27', TSWD: '33' }
代码不会引发任何错误,并且保存回调中的console.log(doc1)
会打印正确的值{ '2019-06-06': { TWS: '4', TAS: '27', TSWD: '33' },'2019-07-07': { TAS: '111', TWS: '222', TSWD: '333' }}
但是,当我检查MongoDB Atlas时,该值完全不变。