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

Node.js 在集合的所有文档中添加字段-MongoDB,node.js,mongodb,cloud9,Node.js,Mongodb,Cloud9,我对在MongoDB集合中的所有文档中添加新字段的语法有困难。知道我哪里出错了吗 例如,我想向名为“cats”的集合中的所有文档添加一个空数组: db.cats.updateMany({}, {$set: {images: []}}); 它在AWS Cloud9命令行中返回以下内容,并且不会在MongoDB Atlas文档中更新: MongoDB Enterprise **db**-shard-0:PRIMARY> db.cats.updateMany({}, {$set: {image

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

语法看起来不错。集合是否可能为空?
“matchedCount”:0
表示查询部分与任何文档都不匹配。这是正确的数据库吗?问题可能是因为我从Cats集合中提交了查询。我键入:showdbs、use、showcollections、usecats,然后提交查询。通过提高一个层次,一切都成功了。非常感谢。