Я ищу в группе collection1 по тегам, которые находятся в collection2, две коллекции должны быть объединены (поиск) по 2 полям (field1, field2)
До сих пор я придумал следующий запрос:
db.collection1.aggregate([
{
"$lookup": {
"from": "collection2",
"let": { _field1: '$field1', _field2: '$field2' },
"pipeline": [{
"$match": {
"$expr": {
"$and": [
{ "$eq": ["$field1", "$$_field1"] },
{ "$eq": ["$field2", "$$_field2"] }
]
}
}
},
{ "$project": { _id: 0, tags: 1 } },
],
"as": "col2"
}
},
{ "$unwind": "$col2" },
{ $group: { _id: "$col2.tags", count: { $sum: 1 } } }
]);
Я не получил никакого результата.
field1 и field2 вместе уникальны в collection2 (с уникальным индексом)