MongoDB更新了多个集合

Yog*_*esh 2 mongodb

我的mongo db包含以下集合名称

10.9.40.46
10.9.40.47
10.9.40.48
10.9.40.49
10.9.40.50
10.9.40.51
10.9.40.52
Run Code Online (Sandbox Code Playgroud)

在具有文档N位数和每一个文件有共同键名为"状态"在默认情况下所有文件有"身份" 1,当我更新我的收藏改变"身份" 1比0我用下面的查询所有集合

 db.getCollection("10.9.40.46").update({"status":1},{$set:{"status":0}},false,true)
Run Code Online (Sandbox Code Playgroud)

上面的查询做工精细,但我想更新我的所有收藏品,然后我通过我的收藏名手动查询,所以在MongoDB中,我使用的数据库和更新使用单个查询或类似的东西在该数据库中所有集合文件的任何概念?我还使用循环来读取所有集合并更新文档,但由于大量集合,我需要很长时间.

Phi*_*ipp 7

不,没有API可以使用单个命令对多个集合执行相同的操作.那是因为你通常不会像使用它们那样使用集合.集合用于对相同类型的文档进行分组,而不是基于内容和/或密钥对它们进行分组.

组织文档的常规方法是将它们全部放在一个集合中,为每个文档添加IP地址字段,并在ip-field上创建索引以便更快地查找.