【发布时间】:2020-09-04 07:39:13
【问题描述】:
我在为 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)
【问题讨论】:
-
语法看起来不错。集合可能是空的吗?
-
"matchedCount" : 0表示查询部分没有匹配任何文档。那是正确的数据库吗? -
问题可能是因为我从 Cats 集合中提交了查询。我键入:show dbs,使用
,显示集合,使用猫,然后提交查询。通过上一层,一切都奏效了。谢谢!