如何使用 pymongo 按键对查询 MongoDB

How do you query MongoDB by pairs of keys using pymongo

我有一个成对的列表,例如[['A', 'B'], ['C', 'D']]。我想查询 MongoDB 特定集合中的记录,这些记录的属性与这两个方面都匹配。

例如,这是我想要返回的内容:

[{'_id': ObjectId('...'),
  'first_property': 'A',
  'second_property': 'B'
 },
 {'_id': ObjectId('...'),
  'first_property': 'C',
  'second_property': 'D'
 }]

如何使用 pymongo 查询 同时 属性?

我从以下模式中获得了相当不错的性能:

client.find({'$or': [{'property_a': value_a, 'property_b': value_b} for value_a, value_b in some_list_of_two_element_tuples]}

这会根据我们请求的元组创建一个很长的 $or 语句。