增加mongodb中对象的值

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

我想发送请求到mongodb数据库。例如,我有这个对象:

{
  id: "1",
  requestType: {
    "api1": {
      count: 12,
      firstTime: 12
    },
    "api2": {
      count: 6,
      firstTime: 18
    }
  }
}

在通过“id”获取数据之后,如果它不存在,我想将另一行追加到“requestType”。例如“api3”:{count:56,firstTime:11}。之后我想增加每个requestType对象的count属性(如果存在)。例如,如果我的api名称为“api3”,则将计数更改为57。

目前我正在使用mongoose的这个查询:

apiAttemptsModel.findOneAndUpdate(query, {
  $set: {
    requestType.api3: {
      count: 56,
      firstTime: 11
    }
  }
}, {
  upsert: true,
  new: true
}, function(err, row) {
  if (err) {
    callback('err is ' + err)
  } else {
    callback(row);
  }
});

但是这段代码只会在对象中添加另一行。

javascript node.js mongodb mongoose
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.