参考 > 参考 > 经营者 > 聚合管道运营商 > $ abs(汇总)
在本页面
$abs
3.2版中的新功能。
返回数字的绝对值。
$abs 具有以下语法:
{ $abs: <number> }
该<number>表达式可以是任何有效的表达式,只要它可以解析为数字。有关表达式的更多信息,请参见表达式。
<number>
如果自变量解析为null或指向缺少的字段,则$abs返回null。如果参数解析为 NaN,则$abs返回NaN。
null
NaN
{ $abs: -1 }
1
{ $abs: 1 }
{ $abs: null }
集合ratings包含以下文档:
ratings
{ _id: 1, start: 5, end: 8 } { _id: 2, start: 4, end: 4 } { _id: 3, start: 9, end: 7 } { _id: 4, start: 6, end: 7 }
以下示例计算start和end等级之间的差异幅度:
start
end
db.ratings.aggregate([ { $project: { delta: { $abs: { $subtract: [ "$start", "$end" ] } } } } ])
该操作返回以下结果:
{ "_id" : 1, "delta" : 3 } { "_id" : 2, "delta" : 0 } { "_id" : 3, "delta" : 2 } { "_id" : 4, "delta" : 1 }