2016-01-05 90 views
1

我存儲在MongoDB中這樣如何更新MongoDB的數組值

"Fiction" : [ 
      { 
        "SNo": "1", 
        "authorName" : "Enid Blyton", 
        "bookName" : "Secret series", 
        "Amount" : 115 
      }, 
      { 
        "SNo": "2", 
        "authorName" : "Enid Blyton", 
        "bookName" : "Mystery series", 
        "Amount" : 150 
      } 
    ] 

我想量更新來自115135文檔。

我試圖更新像這樣的值。

db.fiction.update({"Fiction.SNo":"1"},{$set:{"Fiction.Amount":135}}) 

但我得到一個錯誤。

的錯誤是

cannot use the part (Fiction of Fiction.Amount) to traverse the element 

任何人都可以在這方面的幫助,我需要實現這個從蟒蛇工作。

+0

db.fiction.update({ 「斯諾」: 「1」},{$組:{ 「金額」:135}}) –

回答

1

使用$ positional操作者在您的更新,因爲這識別元件在陣列中沒有明確地指定在陣列中的它的位置來更新:

db.fiction.update({"Fiction.SNo":"1"},{$set:{"Fiction.$.Amount":135}}) 
1

$運算符用於通過陣列進行迭代列表更新。

您所查詢的是: db.Fiction.update({"Fiction.SNo":"1"},{$set:{"Fiction.$.Amount" : 135}})