增加mongodb中对象的值

时间:2017-12-26 09:20:09

标签: javascript node.js mongodb mongoose

我想将请求发送到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);
  }
});

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

1 个答案:

答案 0 :(得分:0)