如果新值大于当前值,如何更新MongoDB文档中的字段?
任何解决方案?
db.report.update(
{ _id: 1234 },
{
$setIfGreater: {
A: 10
}
})
答案 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
}
}