Объедините два набора и сравните два значения поля в mongodb - PullRequest
0 голосов
/ 15 мая 2019

Я хочу объединить две коллекции на основе сравнения двух значений полей

Коллекция первая:

{
  "_id" : ObjectId("5cd27577732093378c0a760c"),
  "level" : "Safety"
}

Коллекция вторая:

{
  "_id" : ObjectId("5c653ffb58ff1515c0a511a5"),
  "course_id" : "1",
  "c_name" : "First Aid",
  "c_level" : "5cd27577732093378c0a760c", 
  "last_update" : "May 14 2019"
}

Я хочу объединить вышеуказанные значения коллекции, сравнив _id коллекции one с c_level коллекции two

  db.one .aggregate([
   {
    $lookup:
   {
   from: "two ",
   localField: "c_level",
   foreignField: "level",
   as: "docs"
   }
   } 
   ]) 

Это показывает пустое значение

1 Ответ

0 голосов
/ 15 мая 2019

Вы переключили localField и foreignField (плюс незначительное изменение):

$lookup:
   {
      from: "two ",
      localField: "_id",
      foreignField: "c_level",
      as: "docs"
   }

при условии, что c_level имеет тип ObjectId.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...