Mongo $ lookup Query Получение пустого псевдонима - PullRequest
1 голос
/ 16 октября 2019
db.ticket.aggregate([
  {
    $lookup: {
      from: "crmorder",
      localField: "subOrderId",
      foreignField: "currentStatus",
      as: "comments"
    }
  }
])

в поле для комментариев результата становится пустым, почему?

1 Ответ

0 голосов
/ 16 октября 2019

у вас есть еще одна таблица с именем crmorder

В таблице заявок должно быть поле - subOrderId

В таблице crmorder должно быть поле - currentStatus

, а также таблица заявокполе subOrderId == таблица crmorder поле currentStatus

вот пример кода:

db.orders.insert([
   { "_id" : 1, "item" : "almonds", "price" : 12, "quantity" : 2 },
   { "_id" : 2, "item" : "pecans", "price" : 20, "quantity" : 1 },
   { "_id" : 3  }
])

db.inventory.insert([
   { "_id" : 1, "sku" : "almonds", description: "product 1", "instock" : 120 },
   { "_id" : 2, "sku" : "bread", description: "product 2", "instock" : 80 },
   { "_id" : 3, "sku" : "cashews", description: "product 3", "instock" : 60 },
   { "_id" : 4, "sku" : "pecans", description: "product 4", "instock" : 70 },
   { "_id" : 5, "sku": null, description: "Incomplete" },
   { "_id" : 6 }
])

db.orders.aggregate([
   {
     $lookup:
       {
         from: "inventory",
         localField: "item",
         foreignField: "sku",
         as: "inventory_docs"
       }
  }
])
...