$tanh (agregação)
Nesta página
$tanh
Retorna a tangente hiperbólica de um valor medido em radianos.
$tanh
tem a seguinte sintaxe:{ $tanh: <expression> } $tanh
usa qualquerexpressão válida que produza um número, medido em radianos. Se a expressão retornar um valor em graus, utilize o operador$degreesToRadians
para converter o valor para radianos.Por padrão ,
$tanh
retorna valores comodouble
.$tanh
também pode retornar valores como um decimal128bits se o<expression>
for resolvido para um valor decimal 128bits.Para mais informações sobre expressões, consulte Expressões.
Comportamento
null
, NaN
e +/- Infinity
Se o argumento de entrada for resolvido para um valor de null
ou se referir a um campo ausente, $tanh
retornará null
. Se o argumento se resolve em NaN
, $tanh
retorna NaN
. Se o argumento se resolver para Infinity
negativo ou positivo, $tanh
retornará -1
ou 1
respectivamente.
Exemplo | Resultados |
---|---|
{ $tanh: NaN } | NaN |
{ $tanh: null } | null |
{ $tanh: -Infinity } | -1 |
{ $tanh: Infinity } | 1 |
Exemplo
A seguinte collection do trigonometry
contém um documento que armazena um valor do angle
medido em graus:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d45" ), "angle" : NumberDecimal( "53.1301023541559787031443874490659" ) } )
A seguinte operação de agregação utiliza a expressão $tanh
para calcular a tangente hiperbólica de angle
e a adiciona ao documento de entrada utilizando o estágio de pipeline $addFields
:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : { $degreesToRadians : "$angle" } } } } ] )
A expressão $degreesToRadians
converte o angle
de graus para radianos.
Saída de exemplo:
{ "_id" : ObjectId("5c50782193f833234ba90d45"), "angle" : NumberDecimal("53.1301023541559787031443874490659"), "tanh_output" : NumberDecimal("0.7293303448445332820512777329448416") }
Como angle
é armazenado como um decimal128bits, a saída $tanh
também é um decimal 128bits.
A seguinte coleção trigonometry
contém um documento que armazena um valor angle
medido em radianos:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d55" ), "angle" : NumberDecimal( "1.6301023541559787031443874490659" ) } )
A seguinte operação de agregação utiliza a expressão $tanh
para calcular a tangente hiperbólica de angle
e a adiciona ao documento de entrada utilizando o estágio de pipeline $addFields
:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : "$angle" } } } ] )
Saída de exemplo:
{ "_id" : ObjectId("5c50782193f833234ba90d55"), "angle" : NumberDecimal("1.6301023541559787031443874490659"), "tanh_output" : NumberDecimal("0.9260761562750713360156803177935379") }
Como angle
é armazenado como um decimal128bits, a saída $tanh
também é um decimal 128bits.