Причина для меня - 2 следующего кода в одном xml
<?xml version="1.0" encoding="utf-8"?>
Вы можете попробовать агрегацию ниже для версии mongodb ниже 3.6
db.business.aggregate([
{$match : {_id : 1}},
{$lookup : {from : "clinics", localField : "clinics", foreignField : "_id", as : "clinics"}},
{$addFields : {clinics : {$filter : {input : "$clinics", as : "c", cond : {$ne : ["$c._id", 1]}}}}}
]).pretty()
результат
{ "_id" : 1, "name" : "some business name", "clinics" : [ { "_id" : 2, "name" : "some name2" }, { "_id" : 3, "name" : "some name3" } ] }
Вы можете использовать ниже aggregation
с mongodb 3.6 и выше
db.BusinessCollection.aggregate([
{ "$match": { "clinics": { "$type": "array" }}},
{ "$lookup": {
"from": "ClinicsCollection",
"let": { "clinics": "$clinics" },
"pipeline": [
{ "$match": {
"$expr": {
"$and": [
{ "$in": [" Вы можете использовать ниже aggregation
с mongodb 3.6 и выше
[110]id", "$clinics"] },
{ "$not": { "$eq": [" Вы можете использовать ниже aggregation
с mongodb 3.6 и выше
[110]id", 1] }}
]
}
}}
],
"as": "clinics"
}}
])