如何构建查询以通过MongoDB中的键对进行过滤?

时间:2016-04-12 09:08:28

标签: mongodb

让我们假设我有一个名为my_collection的集合,其中包含三个文档:

{'_id": 1, 'foo': 'foo_val', 'bar': 'bar_val'},
{'_id": 2, 'foo': 'foo_val2', 'bar': 'bar_val2'},
{'_id": 3, 'foo': 'foo_val', 'bar': 'bar_val2'}

我希望通过给定的键值对来查询它,在这种情况下,例如我想通过以下方式过滤它:

[{'foo': 'foo_val', 'bar': 'bar_val'}, {'foo': 'foo_val2', 'bar': 'bar_val2'}]

所以它应该返回带有ID 1和2的文档。

有一种优雅的方法可以在一次调用db时执行此操作吗?我尝试使用$in关键字,但它并不是我想要的。

1 个答案:

答案 0 :(得分:4)

您需要使用$or运算符:

db.your_collection.find({$or:[{'foo': 'foo_val', 'bar': 'bar_val'},{'foo': 'foo_val2', 'bar': 'bar_val2'}]})