在集合的所有文档中添加字段-MongoDB

问题描述

我在为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
)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...