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

有解决办法吗?

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

推荐答案

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

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

$max运算符将字段的值更新为指定值

Mongodb相关问答推荐

会话的Mongo-go驱动程序版本.Copy()

查找/查找单个深度嵌套文档的多个集合

如何使用内部数组中的值更新文档

从 Amazon S3(Next.js、Mongodb、Mongoose)删除图像

Mongo聚合的具体格式

在 MongoDB 中加入多个集合

mongo.lock 文件有什么用?

返回从循环中调用的数据库查询中检索到的数据的问题

oplog 在独立 mongod 上启用,不适用于副本集

从命令行创建 MongoDB 用户

如何在 mongodb 本机驱动程序中对 find() 进行字段 Select ?

在 Mongoose 中填写所有必填字段

如何解决 ClassNotFoundException:com.mongodb.connection.BufferProvider?

具有 AWS 云形成和自动zoom 的 Mongodb 集群

mongodb类型更改为数组

Mongo聚合框架,排序然后分组不起作用

Mongodb 按字段名称查找任何值

AsQueryable 方法是否在新的 Mongodb C# 驱动程序 2.0rc 中离开?

MongoDB Compass 中 JSON 输入意外结束

MissingSchemaError:Schema hasn't been registered for model