2017-10-17 76 views
0

我有一個像下面的MongoDB:更新文檔數組值對象

{ 
_id="12345", 
details:[ 
    { 
     name:"Customer_Name", 
     time:"request_time" 
    }, 

    { 
     name:"Customer_Name", 
     time:"request_time" 
    }, 
    { 
     name:"Customer_Name", 
     time:"request_time" 
    }, .... 
    ] 
} 

我想在「細節」陣列的所有對象更新「名稱」字段中的文件。

我可以用它更新使用

db.customer.updateMany({_id:"12345"},{$set:{"details.0.name":"My_Name"}}); 

每個數組對象有什麼辦法來更新所有的人立刻

回答

0

嘗試:

db.customer.find({ _id:"12345" }) 
    .forEach(function (doc) { 
     doc.details.forEach(function (details) { 
      details.name="My_Name"; 
     }); 
    db.customer.save(doc); 
});