我必须加入两个集合,在这里我必须使用两个具有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中被排除在外。 为此将有什么解决方法?