MongoDB:更新文档数组值对象

时间:2017-10-17 09:00:14

标签: mongodb

我有以下文件

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

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

我想更新“details”数组的所有对象中的“name”字段。

我可以使用它来使用

更新每个数组对象
db.customer.updateMany({_id:"12345"},{$set:{"details.0.name":"My_Name"}});

有没有办法一次更新所有这些

1 个答案:

答案 0 :(得分:0)

尝试:

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