Как искать элементы в массивах вложенных объектов в mongodb? - PullRequest
0 голосов
/ 19 сентября 2019

Я ищу поисковый запрос для получения вложенных элементов в массиве объектов.У меня есть две коллекции в одном и том же БД, называемые партиями и элементами.В коллекции пакетов элементы упоминаются внутри массива объектов тела как другой массив объектов.Мне нужно искать предметы по названию, Как я собираюсь достичь этого ..

Я пробовал что-то подобное, и это не работает

{ "$unwind": "$body" },
    {$lookup: {
    from:"item",
    localField: "body.items",
    foreignField: "_id",
    as: "results"

   }},
   {$match: {
   results.description: "apple"
   }}

)

Пакетная коллекция

   "_id":"5d80c1def15e046c0d8d6c4d",
   "priceType":"list",
   "batchType":"opco",
   "effectiveDate":"2019-05-18T16:00:00Z",
   "vendorGroupID":"123a",
   "opco":[
      "opco1",
      "opco2",
      "opco3"
   ],
   "status":"open",
   "body":[
      {
         "opcoId":"12",
         "items":[
            "5d8316ad20c11d38153858dd",
            "5d831ed3e0f915381559752f"
         ]
      }
   ]
}

Коллекция предметов

   "_id":"5d8316ad20c11d38153858dd",
   "netPrice":"234",
   "status":"pending",
   "description":"apple"
}
...