MongoDB-更新文檔數(shù)組中的對象(嵌套更新)假設(shè)我們有以下集合,我對此幾乎沒有問題:{
"_id" : ObjectId("4faaba123412d654fe83hg876"),
"user_id" : 123456,
"total" : 100,
"items" : [
{
"item_name" : "my_item_one",
"price" : 20
},
{
"item_name" : "my_item_two",
"price" : 50
},
{
"item_name" : "my_item_three",
"price" : 30
}
]}1-我想提高“項(xiàng)目名稱”的價(jià)格:“我的項(xiàng)目2”如果它不存在,它應(yīng)該附加到“Item”數(shù)組中。2-如何同時(shí)更新兩個(gè)字段。例如,增加“my_tem_3”的價(jià)格,同時(shí)增加“總計(jì)”(具有相同的值)。我更喜歡在MongoDB端這樣做,否則我必須在客戶端(Python)加載文檔,并構(gòu)造更新的文檔并將其替換為MongoDB中的現(xiàn)有文檔。更新這就是我嘗試過的,而且效果很好。如果對象存在 :db.test_invoice.update({user_id : 123456 , "items.item_name":"my_item_one"} , {$inc: {"items.$.price": 10}})但如果鑰匙不存在,它什么也做不了。此外,它只更新嵌套的對象。使用此命令也無法更新“總計(jì)”字段。
- 2 回答
- 0 關(guān)注
- 2299 瀏覽
添加回答
舉報(bào)
0/150
提交
取消