你可以使用MongoDB的聚合框架来实现这个需求。首先,你需要使用$subtract操作符来计算两个字段的差值,然后使用$cond操作符来判断差值是否大于1,如果是,返回1,否则返回0。最后使用$sum操作符对结果进行求和。

以下是一个示例聚合查询语句:

db.collection.aggregate([
  {
    $project: {
      difference: { $subtract: [ "$field1", "$field2" ] }
    }
  },
  {
    $group: {
      _id: null,
      count: {
        $sum: {
          $cond: {
            if: { $gt: [ "$difference", 1 ] },
            then: 1,
            else: 0
          }
        }
      }
    }
  }
])

在这个例子中,collection是你的集合名称,field1field2是你要计算差值的字段名称。聚合查询会返回一个结果文档,其中count字段表示差值大于1的记录数。

请注意,如果你有其他的group字段,你需要根据你的需求进行相应的调整

mongodb 聚合 $sum 两个字段相减是否大于1 是的话加一不是加0

原文地址: https://www.cveoy.top/t/topic/hOwF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录