$inc 最小值 MongoDB

$inc with min value MongoDB

我需要更新特定文档(按 _id)并将数据库中的特定字段降低 1。

查询如下所示:

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

但是我需要 fieldToLower 永远不会为负,如果它已经是 0,则 mins 等于 0,而不等于 -1。

我想知道如何在此查询中执行此操作?

作为解决方法,您可以仅更新 fieldToLower > 0 的值,如下所示:

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

示例here