我有 2 个集合,如下所示:
branches
{
_id: ...,
custId: "abc123",
branchCode: "AA",
...other fields
}
branchHolidays
{
_id: ...,
custId: "abc123",
holidayDate: ISODate("2019-06-01T00:00:00:0000"),
holidayStatus: "PROCESSED",
..other fields
}
需要从分支集合中获取所有具有可用 custId 的分支假日以及分支集合中的分支代码。(branches.custId = branchHolidays.custId)
对于 join 的第一部分,我尝试了以下查询,但我从branchHolidays集合中获取了所有字段。
db.getCollection('branchHolidays').aggregate([
{
$lookup: {
localField: "custId",
from: "branches",
foreignField: "custId",
as: "holidays"
}
},
$match: { holidayStatus: "PROCESSED" }
])
上面的查询返回branchHolidays集合中的所有文档。我是 mongo 的新手,但我无法弄清楚问题所在。已经完成了大多数 SO 查询,但没有找到任何有帮助的东西。
注意:在分支集合中有多个分支代码映射到 1 个 custId 。