我在collectionA
中有这样的文档:
{
"catalogId" : "17582"
}
像这样的文件在collectionB
:
{
"product" : {
"catalogId" : "17582"
}
我正在将以下聚合应用于collectionA
:
{
$lookup: {
from: "collectionB",
let: {
catalogId: "$catalogId"
},
pipeline: [
{
$match: {
"product.catalogId": "$$catalogId"
}
}
],
as: "something"
}
}
但我有一个空的结果。有人知道为什么吗?提前谢谢。
查询必须如下所示,检查此$lookup以获取 ref :
db.collectionA.aggregate([{
$lookup: {
from: "collectionB",
let: {
catalogId: "$catalogId"
},
pipeline: [
{
$match: {
$expr: { $eq: ["$product.catalogId", "$$catalogId"] }
}
}
],
as: "something"
}
}])