Mongodb 根据条件从所有集合中删除文档

Mongodb 根据条件从所有集合中删除文档,mongodb,Mongodb,我想使用相同的清除条件从所有集合中删除几个文档。i、 假设我有三个集合test,test1和test2。所有这些集合都有公共列“ZIP”,现在我想根据一些邮政编码从以上三个集合中删除 您需要执行单独的remove()调用,但您可以重复使用如下条件: var condition = { "ZIP": 12345 } db.collection1.remove(condition) db.collection2.remove(condition) db.collection3.remove(cond

我想使用相同的清除条件从所有集合中删除几个文档。i、 假设我有三个集合test,test1和test2。所有这些集合都有公共列“ZIP”,现在我想根据一些邮政编码从以上三个集合中删除

您需要执行单独的
remove()
调用,但您可以重复使用如下条件:

var condition = { "ZIP": 12345 }
db.collection1.remove(condition)
db.collection2.remove(condition)
db.collection3.remove(condition)
为了处理每个集合(也包括系统集合)和视图,您可以执行以下操作:

db.getCollectionNames().forEach(function(col) { db[col].remove(condition) })

这是哪种语言?运行三个请求来删除它们有什么困难?为什么要从三个集合中的数据开始?还向您展示了许多有用的细节,并且似乎没有尝试在问题中做任何事情。如果您有特定的提问原因,那么您应该在问题中对此进行解释。有几点建议:1)您可以使用
db.getCollectionNames().forEach(col=>db[col].remove(…)
来迭代所有集合。2) 使用
deletemanny()
而不是
remove()
可以清楚地表明您正在从每个集合中删除许多文档。@KevinAdistambha:是的,谢谢,公平点。我假设在问题的上下文中,“所有集合”可能不一定意味着“所有”。)@KevinAdistambha试过了,但对我来说不起作用。您能澄清一下吗?您使用的是哪种语言/驱动程序/客户端?直接在MongoShell上运行,需要在ubuntu系统上实现自动化。