Как сопоставить два списка с помощью агрегации MongoDB - PullRequest
0 голосов
/ 17 января 2019

У меня есть коллекция как: col1

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

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

Я хочу проецировать данные, только если приложение (я) в коллекции соответствует приложению в списке ['cloud', 'database', 'booking'] . В этом случае я смогу получить только первый документ, так как в нем есть « облако » как в списке, так и в списке.

Мне нужно использовать агрегацию. Но я не получаю правильное направление ..

1 Ответ

0 голосов
/ 17 января 2019

Вы можете использовать $in оператор запроса

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