我有一个mongoDB集合,在这里我可以节省时间和成本。当用户第一次输入数据时,文档看起来有点像这样:
{ "fullName" : "john smith",
"company" : "xyz",
"email" : "john.smith@xyz.com",
"timeSaved" : 50 //this is in minutes
"moneySaved" : 10 //this is in dollars
}现在,当用户再次输入数据时,我会发现这个用户的文档是否已经存在,如果已经存在,我就会得到它。
这一次用户输入:
我希望将新值添加到现有值中。因此,在这些文件显示如下之后:
"timeSaved" : 105 // old 50 + new 55
"moneySaved" : 20 // old 10 + new 10实现这一目标的最佳方法是什么。在mongodb/mongoose中是否有内置的函数可以帮助解决这个问题。
发布于 2017-02-09 11:50:29
您可以通过$inc操作符来完成这一任务。$inc运算符将字段递增指定的值。
例如,在您的案例中:
UserModel.update(
SomeFindCriteria,
{ $inc: { timeSaved: newTimeSaved, moneySaved: newMoneySaved } }
)https://stackoverflow.com/questions/42135787
复制相似问题