鍍金池/ 問答/數(shù)據(jù)庫  HTML/ mongoose 更新操作未報錯但不能更新?

mongoose 更新操作未報錯但不能更新?

問題描述

想更新子文檔數(shù)組中的一個字段,按照官方文檔寫了但是不能更新,請各位幫忙看看,謝謝!

相關(guān)代碼

更新方法:

modle.updateOne({
    "fruit.price":12,
    _id:1
},{
    $set:{
        "fruit.$.sum":30
    }
})

model 實例:

{
     _id:1,
     fruit:[{
         price:12,
         sum:23,
         date:'2018.7.6',
         add:Array
     },
     {
         price:5,
         sum:40,
         date:'2018.7.6',
         add:Array
     }]
     
 }

返回結(jié)果:

{ Ok:1, nModified:0, n:0}

明明找到了一個為什么更新不成功呢?另外,如果我想對add字段插入值應(yīng)該怎么操作呢?謝謝!

回答
編輯回答
別逞強

nModified:0不是寫了么,沒有匹配到。fruit是個數(shù)組所以 "fruit.price":price,是什么?
subdocs

2017年5月29日 15:15
編輯回答
怣痛

上面說得沒錯,{nModified: 0}表示沒找到。
看到你的評論在說$使用的問題,文檔上也沒有錯,這樣使用是沒問題的。這條語句在shell中是可以成功執(zhí)行的。
所以我覺得問題可能在你的model定義上,不妨發(fā)出來看看。

2018年3月28日 07:35