mongodb 聚合 $sum 两个字段相减是否大于1 是的话加一不是加0
你可以使用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是你的集合名称,field1和field2是你要计算差值的字段名称。聚合查询会返回一个结果文档,其中count字段表示差值大于1的记录数。
请注意,如果你有其他的group字段,你需要根据你的需求进行相应的调整
原文地址: https://www.cveoy.top/t/topic/hOwF 著作权归作者所有。请勿转载和采集!