Запрос поиска MongoDB с несколькими локальными полями - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно объединить две коллекции, где я должен использовать два поля с условием ИЛИ в качестве локального поля. Ниже мой запрос:

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. Что будет обходить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...