具有多个本地字段的MongoDB查找查询

时间:2019-10-30 11:40:50

标签: mongodb mongodb-query lookup

我必须加入两个集合,在这里我必须使用两个具有OR条件的字段作为localfield。 以下是我的查询:

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 作为我在localfield中的查找条件,这样我就不会丢失任何记录。 在我的查询中,我失去了一些摘要,这些摘要在Stage1中被排除在外。 为此将有什么解决方法?

0 个答案:

没有答案