$abs(聚合)

在本页面

定义

  • $abs

    • version 3.2 中的新内容。

返回数字的绝对 value。

$abs具有以下语法:

{ $abs: <number> }

<number>表达式可以是任何有效的表达,因为它解析为数字。有关表达式的更多信息,请参阅表达式

行为

如果参数解析为的值或引用缺少的字段,则$abs返回null。如果参数解析为NaN,则$abs返回NaN

结果
{ $abs: -1 }1
{ $abs: 1 }1
{ $abs: null }null

集合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 }

以下 example 计算startend评级之间的差异大小:

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 }