$ add поддерживает только типы чисел c или даты, а не ошибки массива при увеличении в Mongoose - PullRequest
1 голос
/ 05 мая 2020

У меня есть документ, который выглядит примерно так:

{ 
  "_id": ObjectId("1111"), 
  "products":[
   {
    _id:'abc',
    quantity:3},
   {
    _id:'xyz',
    quantity:5
   }
 ]
}

Мне нужно увеличить вложенный документ products.quantity на определенную величину.

Это то, что я пробовал до сих пор

Counter.findOneAndUpdate(
 { "_id": ObjectId("1111"), "products._id": 'abc' },

 [{
  $addFields: {
   'products.quantity': { $add: [ "$products.quantity", 7 ] }
  }
 }])

Когда я запускаю это, я ожидаю, что количество будет 10, но я получаю сообщение об ошибке, в котором говорится, что $ add поддерживает только типы numeri c или даты, а не массив

Как мне этого добиться?

...