Мне нужно объединить две коллекции, где я должен использовать два поля с условием ИЛИ в качестве локального поля. Ниже мой запрос:
db.getCollection("collection1").aggregate(
[
{
"$lookup" : {
"from" : "collection2",
"localField" : "field.join1",
"foreignField" : "phone",
"as" : "Stage1"
}
},
{
"$unwind" : {
"path" : "$Stage1",
"includeArrayIndex" : "arrayIndex",
"preserveNullAndEmptyArrays" : false
}
},
{
"$lookup" : {
"from" : "merchant",
"localField" : "field2.join1",
"foreignField" : "phone",
"as" : "Stage2"
}
}
],
{
"allowDiskUse" : false
}
);
Я хочу использовать field.join1 ИЛИ field2.join1 в качестве условия поиска в локальном поле, чтобы я не потерял ни одной записи. В моем запросе я теряю несколько записей, которые исключаются в Stage1. Что будет обходить это?