如何在mongoDB中使用两个$ lookup

时间:2018-12-13 09:21:11

标签: arrays mongodb mongodb-query

这里我有两个集合OrganizationsGroups,我的要求是我要在“组织”表中检查oldschoolID,并且必须取schoolID和{{1 }}。

然后,我必须使用name来连接“组织”集合$lookup和“组”集合schoolID,并且我必须制作一个名为otherIds.schoolID的单独数组并将其放入所需的{{1 }}值。

  

组织:

group-section

1 个答案:

答案 0 :(得分:0)

在当前阶段2和3之间增加一个聚合阶段$ unwind。

    // Stage 2     
  {
    $lookup: {
      from: "Groups",
      localField: "orgID", // organization table org id
      foreignField: "otherIds.orgID",
      as: "group-section"
    }
  },
// New Stage
{
$unwind: {
path: "$group-section",
preserveNullAndEmptyArrays: true
}
}
  // Stage 3
  {
    $lookup: {
      from: "GroupContents",
      localField: "group-section.groupID",
      foreignField: "groupID",
      as: "group-section"
    }
  },