Obecnie mongodb $lookup porównuj tylko pojedyncze lokalne i zagraniczne klucz.
Ale jeśli chcesz wykonać zapytanie takie jak mysql left join z dwoma lub więcej polami, poniżej znajduje się rozwiązanie.
db.getCollection('LeftTable').aggregate([
{
$lookup:
{
from: "RightTable",
localField: "ID",
foreignField: "ID",
as: "RightTableData"
}
},
{$unwind :"$RightTableData" },
{
$project: {
mid: { $cond: [ { $eq: [ '$MID', '$RightTableData.MID' ] }, 1, 0 ] }
}
},
{$match : { mid : 1}}
])
Tutaj $MID to Lewy stół Pole MID.