Bạn có thể sử dụng aggregation
dưới đây
với mongodb 3.6 trở lên
Bạn chỉ cần sử dụng $match
với tập hợp con như bạn làm với tập hợp mẹ trong giai đoạn đầu tiên.
db.BusinessCollection.aggregate([
{ "$match": { "clinics": { "$type": "array" }}},
{ "$lookup": {
"from": "ClinicsCollection",
"let": { "clinics": "$clinics" },
"pipeline": [
{ "$match": {
"$expr": {
"$and": [
{ "$in": ["$_id", "$$clinics"] },
{ "$not": { "$eq": ["$_id", 1] }}
]
}
}}
],
"as": "clinics"
}}
])