问题描述
我在为MongoDB集合中的所有文档中添加新字段的语法上遇到困难。有什么想法我要去哪里吗?
例如,我想向一个名为“ cats”的集合中的所有文档添加一个空数组:
db.cats.updateMany({},{$set: {images: []}});
它将在AWS Cloud9命令行中返回以下内容,并且在MongoDB Atlas文档中不会更新:
MongoDB Enterprise **db**-shard-0:PRIMARY> db.cats.updateMany({},{$set: {images: []}});
{ "ackNowledged" : true,"matchedCount" : 0,"modifiedCount" : 0 }
我正在使用MongoDB Shell版本v3.6.3(但是我的服务器版本是4.2.8)
解决方法
您必须使用空选择器,并将multi标志设置为true(最后一个参数)以更新所有文档
db.getCollection('cats').update(
{},{ $set: {"images": []} },false,true
)