Mongodb: запрос нескольких коллекций - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть коллекция Application с такими документами:

{
    "_id" : "TAIS",
    "commonUserName" : "TAIS",
    "scopes" : [
        DBRef("Scope", "GEN_ECO"),
        DBRef("Scope", "GEN_PRE")
    ]
}

Итак, Scope документы коллекции имеют вид:

{
    "_id" : "GEN_PRE",
    "code" : "1DPVE000"
}

Здесь есть еще одна третья коллекция, Reference:

{
    "_id": "sdfls2",
    "app" : "TAIS"
}

Мне нужно создать запрос для поиска references, где были reference.app belongs to a given %scope%.

Есть идеи?

1 Ответ

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

Вы можете использовать $lookup для "объединения" коллекций.например,

db.applications.aggregate([
{
 $lookup:
   {
     from: "third_collection",
     localField: "_id",
     foreignField: "app",
     as: "app_with_reference"
   }
  }
])

Подробнее: https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#pipe._S_lookup

...