【发布时间】:2019-09-18 10:50:45
【问题描述】:
我正在调用findAndModify() 使用$max 函数将字段的值设置为最大值。
db.scores.update( { _id: 1 }, { $max: { highScore: 950 } } )
我还想在文档更新时设置lastUpdatedTimestamp。我不能只执行$set,因为这总是会更改最后更新的时间戳。 MongoDB 中是否有一个很好的机制来设置另一个值只有在文档更新时?类似于 $setOnInsert 的东西,但可以更新。
如果这里没有什么好方法?现在我想我可以进行常规查找。然后进行局部比较。如果新值大于旧值,则更新很有可能会更新文档。所以我只为lastUpdatedTimestamp 包含$set。
【问题讨论】:
标签: mongodb