让我们假设我有一个名为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
关键字,但它并不是我想要的。
答案 0 :(得分:4)
您需要使用$or
运算符:
db.your_collection.find({$or:[{'foo': 'foo_val', 'bar': 'bar_val'},{'foo': 'foo_val2', 'bar': 'bar_val2'}]})