如何在访问多个集合中的数据时执行左外连接? 即使DB_Market中没有匹配项,我也希望从集合中获取详细信息。目前,如果我使用条件进一步过滤,我可以实现内连接。但是除此之外我还需要左外。
示例代码
db.new.aggregate([
{
"$lookup": {
"from": "DB_Market",
"localField": "var1",
"foreignField": "var1",
"as": "collection2_doc"
}
},
{"$unwind": "$collection2_doc" }])
答案 0 :(得分:1)
我认为你可以执行左外连接。当您执行$unwind
时,请确保 preserveNullAndEmptyArrays 为true
db.new.aggregate([
{
$lookup: {
"from": "DB_Market",
"localField": "var1",
"foreignField": "var1",
"as": "collection2_doc"
}
},
{$unwind: { path: "$collection2_doc", preserveNullAndEmptyArrays: true } }
])