MongoDB - 如果新值更大,则更新字段

时间:2015-03-04 16:03:13

标签: mongodb

如果新值大于当前值,如何更新MongoDB文档中的字段?

任何解决方案?

db.report.update(
    { _id: 1234 },
    {
      $setIfGreater: {
        A: 10
      }
   })

2 个答案:

答案 0 :(得分:21)

您可以使用$max运算符执行此操作:

db.report.update(
    { _id: 1234 },
    {
      $inc: { A: 5 },
      $set: {
        B: "ABC123",
      }
      $max: {
        C: 10
      }
    })
  

$max运算符将字段的值更新为指定值   如果指定的值大于该字段的当前值。

答案 1 :(得分:3)

您可以使用$max operator并执行以下操作:

db.report.update(
  { _id: 1234 },
  {
    $inc: { A: 5 },
    $set: {
      B: "ABC123",
    }
    $max: {
      C: 10
    }
}