$acosh (agregação)
Nesta página
$acosh
Retorna o cosseno hiperbólico inverso (arco cosseno hiperbólico) de um valor.
$acosh
tem a seguinte sintaxe:{ $acosh: <expression> } $acosh
pega qualquerexpressão válida que resolva para um número entre1
e+Infinity
, por exemplo1 <= value <= +Infinity
.$acosh
retorna valores em radianos. Utilize o operador$radiansToDegrees
para converter o valor de saída de radianos para graus.Por padrão,
$acosh
retorna valores comodouble
.$acosh
também pode retornar valores como um decimal de 128 bits, desde que o<expression>
resolva para um valor decimal de 128 bits.Para mais informações sobre expressões, consulte Expressões.
Comportamento
null
, NaN
e +/- Infinity
Se o argumento resultar em um valor de null
ou se referir a um campo ausente, $acosh
retornará null
. Se o argumento resultar em NaN
, $acosh
retornará NaN
. Se o argumento resolver para infinito negativo, $acosh
lançará um erro. Se o argumento se resolve em Infinity
, $acosh
retorna Infinity
. Se o argumento resultar em um valor fora dos limites de [-1, Infinity]
inclusive, $acosh
lançará um erro.
Exemplo | Resultados | |||
---|---|---|---|---|
{ $acosh: NaN } | NaN | |||
{ $acosh: null } | null | |||
{ $acosh : Infinity} | Infinity | |||
{ $acosh : 0 } | Lança uma mensagem de erro semelhante à seguinte saída formatada:
|
Exemplo
A coleção trigonometry
contém um documento que armazena um valor ao longo do eixo x
de um gráfico 2-D:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("3") }
A operação de agregação a seguir usa a expressão $acosh
para calcular o cosseno hiperbólico inverso de x-coordinate
e adicioná-lo ao documento de entrada usando o estágio de pipeline $addFields
.
db.trigonometry.aggregate([ { $addFields : { "y-coordinate" : { $radiansToDegrees : { $acosh : "$x-coordinate" } } } } ])
A expressão $radiansToDegrees
converte o valor radianos retornado por $acosh
para o valor equivalente em graus.
O comando retorna a seguinte saída:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("3"), "y-coordinate" : NumberDecimal("100.9979734210524228844295260083432") }
Como x-coordinate
é armazenado como um decimal128bits, a saída de $acosh
é um decimal 128bits.
A coleção trigonometry
contém um documento que armazena um valor ao longo do eixo x
de um gráfico 2-D:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("3") }
A operação de agregação a seguir usa a expressão $acosh
para calcular o cosseno hiperbólico inverso de x-coordinate
e adicioná-lo ao documento de entrada usando o estágio de pipeline $addFields
.
db.trigonometry.aggregate([ { $addFields : { "y-coordinate" : { $acosh : "$x-coordinate" } } } ])
O comando retorna a seguinte saída:
{ "_id" : ObjectId("5c50782193f833234ba90d85"), "x-coordinate" : NumberDecimal("3"), "y-coordinate" : NumberDecimal("1.762747174039086050465218649959585") }
Como x-coordinate
é armazenado como um decimal128bits, a saída de $acosh
é um decimal 128bits.