MongoDB - 是否可以删除引用了某个字段的所有文档?

时间:2015-06-02 11:49:14

标签: mongodb robo3t

我有Documents,其中有另一个Document的引用键。 是否可以一次性删除每个引用该字段的文档?

现在,我会使用db.collection.remove(<query for the reference>)并在每个集合中运行它,但这似乎并不高效。

我想要做的是使用一个可以遍历所有文档的删除查询。我在RoboMongo中使用命令提示符。

1 个答案:

答案 0 :(得分:1)

您的第一个问题的答案是,您可以这样做。

如何做到这一点: 如果要执行这样的操作,可以编写一个小的mongoDB脚本。 learn more about mongo shell scripts

您的帖子的解决方案可能是这样的脚本:

cursor = db.collection.find();
while ( cursor.hasNext() ) {
   // Compare the two keys and remove the appropriate document
}
如果你必须自动化行动,

MongoDB Shell Scripting是一个很好的解决方案。