$add只支持数字或日期类型,不支持数组 在Mongoose中增量时出错

问题描述 投票:1回答:1

我有一个这样的文档。

{ 
  "_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只支持数字或日期类型,不支持数组。

现在我如何才能实现这个目标?

mongodb express mongoose aggregate
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.