【问题标题】:$inc with min value MongoDB$inc 最小值 MongoDB
【发布时间】:2021-11-30 10:38:59
【问题描述】:

我需要更新特定文档(_id)并在 DB 中将特定字段降低 1。

查询如下所示:

mycollection.update_one({"_id": {"$eq": the_id}}, {"$inc": {"fieldToLower": -1}})

但是我需要fieldToLower 永远不会是负数,如果它已经是 0,那么它的最小值等于 0,而不是等于 -1。

我想知道如何在这个查询中做到这一点?

【问题讨论】:

    标签: mongodb pymongo


    【解决方案1】:

    作为一种解决方法,您可以只更新 fieldToLower 大于 0 的值,如下所示:

    mycollection.update_one({
      "_id": the_id,
      "fieldToLower": {
        "$gte": 1
      }
    },
    {
      "$inc": {
        "fieldToLower": -1
      }
    })
    

    例如here

    【讨论】:

    • 工作完美,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 2013-01-03
    • 2021-07-01
    • 2015-11-10
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多