$abs (agregação)
Nesta página
Definição
$abs
Novo na versão 3.2.
Retorna o valor absoluto de um número.
$abs
tem a seguinte sintaxe:{ $abs: <number> } A expressão
<number>
pode ser qualquerexpressão válida, desde que seja resolvida como um número. Para mais informações sobre expressões, consulte Expressões.
Comportamento
Se o argumento for resolvido para um valor de null
ou se referir a um campo ausente, $abs
retornará null
. Se o argumento se resolve em NaN
, $abs
retorna NaN
.
Exemplo | Resultados |
---|---|
{ $abs: -1 } | 1 |
{ $abs: 1 } | 1 |
{ $abs: null } | null |
Exemplo
Uma coleção temperatureChange
contém os seguintes documentos:
db.temperatureChange.insertMany( [ { _id: 1, startTemp: 50, endTemp: 80 }, { _id: 2, startTemp: 40, endTemp: 40 }, { _id: 3, startTemp: 90, endTemp: 70 }, { _id: 4, startTemp: 60, endTemp: 70 } ] )
O exemplo a seguir calcula a magnitude da diferença entre as classificações startTemp
e endTemp
:
db.temperatureChange.aggregate([ { $project: { delta: { $abs: { $subtract: [ "$startTemp", "$endTemp" ] } } } } ])
A operação retorna os seguintes resultados:
{ "_id" : 1, "delta" : 30 } { "_id" : 2, "delta" : 0 } { "_id" : 3, "delta" : 20 } { "_id" : 4, "delta" : 10 }