MongoDB -如何将字段添加到数组中的所有对象中

t30tvxxf  于 2023-05-17  发布在  Go
关注(0)|答案(2)|浏览(188)

我有一个文档,它有一个名为info的字段,info里面有一个名为data的字段。data是一个对象数组。我想用updateMany为data中的每个对象添加一个新的布尔字段isActive: false
这就是现在的样子

{ 
    info: {
        data: [{
                "name": "Max"
            },
            {
                "name": "Brian"
            },
            ...
        ]
    }
}

这就是我想要的:

{ 
    info: {
        data: [{
                "name": "Max",
                "isActive": false
            },
            {
                "name": "Brian",
                "isActive": false
            },
            ...
        ]
    }
}

我该怎么做?

eimct9ow

eimct9ow1#

isActive字段与所有位置运算符$[]相加。

db.collection.update({},
{
  $set: {
    "info.data.$[].isActive": false
  }
},
{
   multi: true
})

如果要更新多个文档,请考虑应用{ multi: true }

dxxyhpgq

dxxyhpgq2#

UpdateMany也是可能的,例如在Compass中。
© 2019 www.qqq.com版权所有并保留所有权利

相关问题