首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MongoDB/Mongoose通过执行加法来更新文档中的数字

MongoDB/Mongoose通过执行加法来更新文档中的数字
EN

Stack Overflow用户
提问于 2017-02-09 11:41:29
回答 1查看 1.9K关注 0票数 4

我有一个mongoDB集合,在这里我可以节省时间和成本。当用户第一次输入数据时,文档看起来有点像这样:

代码语言:javascript
运行
复制
{ "fullName" : "john smith",
  "company" : "xyz",
  "email" : "john.smith@xyz.com",
  "timeSaved" : 50 //this is in minutes
  "moneySaved" : 10 //this is in dollars
}

现在,当用户再次输入数据时,我会发现这个用户的文档是否已经存在,如果已经存在,我就会得到它。

这一次用户输入:

  1. 节省时间55
  2. 节省了10英镑

我希望将新值添加到现有值中。因此,在这些文件显示如下之后:

代码语言:javascript
运行
复制
"timeSaved" : 105 // old 50 + new 55
"moneySaved" : 20 // old 10 + new 10

实现这一目标的最佳方法是什么。在mongodb/mongoose中是否有内置的函数可以帮助解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 11:50:29

您可以通过$inc操作符来完成这一任务。$inc运算符将字段递增指定的值。

例如,在您的案例中:

代码语言:javascript
运行
复制
UserModel.update(
    SomeFindCriteria,
   { $inc: { timeSaved: newTimeSaved, moneySaved: newMoneySaved } }
)
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42135787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档