如何使用MongoDB聚合来匹配两个列表

时间:2019-01-17 05:26:14

标签: mongodb aggregation-framework pymongo

我的收藏如下: col1

{"_id":"5c3ea35651166f3refsfd5",
"environment": "production",
"application": ['cloud', 'android', 'finance']},

{"_id":"5c3ea35651166f3refsfd6",
"environment": "production",
"application": ['banking', 'network', 'finance']}

仅当集合中的应用程序与 ['cloud','database','booking'] 列表中的应用程序匹配时,我才希望对数据进行投影。在这种情况下,我应该只能获取第一个文档,因为它在文档和列表中都具有“ ”。

我需要使用聚合。但是我没有找到正确的方向。

1 个答案:

答案 0 :(得分:1)

您可以使用$in查询运算符

col1.aggregate([
  { '$match': { 'application': { '$in': ['cloud', 'database', 'booking'] }}},
  { '$project': { 'environment': 1, 'application':1 }}
])