【问题标题】:MongoDB/Mongoose - Update a number in document by performing AdditionMongoDB/Mongoose - 通过执行加法更新文档中的数字
【发布时间】:2017-06-27 09:48:42
【问题描述】:

我有一个 mongoDB 集合,用于存储节省的时间和成本。 当用户第一次输入数据时文档看起来是这样的:

{ "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

我想将新值添加到现有值中。所以在文件显示后:

"timeSaved" : 105 // old 50 + new 55
"moneySaved" : 20 // old 10 + new 10

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

【问题讨论】:

  • $inc 会有所帮助。

标签: javascript node.js mongodb mongoose


【解决方案1】:

您可以通过$inc 操作员来执行此操作。 $inc 运算符将字段增加指定值

例如你的情况:

UserModel.update(
    SomeFindCriteria,
   { $inc: { timeSaved: newTimeSaved, moneySaved: newMoneySaved } }
)

【讨论】:

  • 啊完美!很简单!感谢您的帮助。 :D 测试后我会接受答案。
猜你喜欢
  • 2014-12-28
  • 2017-06-26
  • 2015-10-04
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 2015-10-05
  • 2018-06-05
  • 1970-01-01
相关资源
最近更新 更多