MongoDB / Mongoose – 通过执行Addition更新文档中的数字
我有一个mongoDB集合,可以存储时间和成本。 当用户第一次input数据时 ,文件有点像这样:
{ "fullName" : "john smith", "company" : "xyz", "email" : "john.smith@xyz.com", "timeSaved" : 50 //this is in minutes "moneySaved" : 10 //this is in dollars }
现在,当用户再次input数据时,我发现这个用户是否已经存在一个文档,如果有的话,我可以得到它。
这次用户input了:
- 节省时间55
- 钱已保存10
我想将新的值添加到现有的值。 所以文件显示这个之后:
"timeSaved" : 105 // old 50 + new 55 "moneySaved" : 20 // old 10 + new 10
什么是实现这个最好的方法。 在MongoDB / Mongoose中是否有内置的function可以帮助解决这个问题。
你可以通过$ inc操作符来做到这一点。 $inc
操作符按指定值递增一个字段
例如在你的情况下:
UserModel.update( SomeFindCriteria, { $inc: { timeSaved: newTimeSaved, moneySaved: newMoneySaved } } )