Как использовать два $ lookup в mongoDB - PullRequest
0 голосов
/ 13 декабря 2018

Здесь у меня две коллекции Organizations & Groups, мое требование - я хочу проверить oldschoolID в таблице Организации, и мне нужно взять schoolID & name.

Тогдая должен использовать $lookup для подключения коллекции Организации schoolID и коллекции Группы otherIds.schoolID, и мне нужно создать отдельный массив с именем group-section и вставить необходимые ($project) значения.

Организации:

{
    "_id" : ObjectId("5c11efebd9cb4d35f47d6bd0"),
    "schoolID" : "123",
    "name" : "Abd"
}

1 Ответ

0 голосов
/ 13 декабря 2018

поместите еще один этап агрегации $, раскрутите между текущими этапами 2 и 3.

    // 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"
    }
  },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...