最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

增加mongodb中对象的值

IT培训 admin 10浏览 0评论

增加mongodb中对象的值

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

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

回答如下:

您可以使用$ inc运算符。

https://docs.mongodb/manual/reference/operator/update/inc/

增加mongodb中对象的值

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

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

回答如下:

您可以使用$ inc运算符。

https://docs.mongodb/manual/reference/operator/update/inc/

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论