猫鼬不会更新值

时间:2019-06-23 12:54:08

标签: node.js mongodb mongoose

我试图用猫鼬更新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时,该值完全不变。

1 个答案:

答案 0 :(得分:0)

只需使用findOneAndUpdate

stimulus