MongoDB: отправка нового объекта в массив и возврат того же - PullRequest
1 голос
/ 20 февраля 2020

Моя структура документа MongoDB для Category выглядит следующим образом

{
  "_id" : ObjectId("5e487ce64787a51f073d0915"),
  "active" : true,
  "name" : "Luggage",
  "productList" : [ 
    {
      "_id" : ObjectId("5e487ce64787a51f073d0adf"),
      "name" : "Duffle Bag"
    }, 
    {
      "_id" : ObjectId("5e487ce64787a51f073d0wt4"),
      "name" : "Trolley Bag"
    }
}

Можно ли добавить новый объект в массив productList и вернуть его в одном запросе?

Рассматривая метод MongoDB updateOne, он возвращает результаты операции обновления, поэтому он бесполезен. Другой вариант, который я вижу, - это использовать findAndModify, вернуть документ Category, а затем перебрать все продукты. Матч на name и возврат. Но это не очень эффективно. Я ищу решение на уровне MongoDB, а не на уровне кода. Есть ли в MongoDB что-нибудь, что я могу использовать?

...