$tanhRetorna a tangente hiperbólica de um valor medido em radianos.
$tanhtem a seguinte sintaxe:{ $tanh: <expression> } $tanhpega qualquer expressão válida que resolva um número, medido em radianos. Se a expressão retornar um valor em graus, use o operador para converter o valor para$degreesToRadiansradianos.Por padrão , retorna
$tanhvaloresdoublecomo. também pode$tanh128retornar valores como um decimal de bits se o for<expression>resolvido para um 128valor decimal de bits.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 nullretornará. Se o argumento se resolve NaN em, $tanh NaNretorna. Se o argumento se resolver para negativo ou Infinity positivo, $tanh retornará -1 ou 1 respectivamente.
Exemplo | Resultados |
|---|---|
|
|
|
|
|
|
|
|
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" : Decimal128( "53.1301023541559787031443874490659" ) } )
A seguinte operação de agregação utiliza a expressão para calcular a tangente hiperbólica $tanh do angle e a adiciona ao documento de entrada $addFields utilizando o estágio de pipeline:
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" : Decimal128("53.1301023541559787031443874490659"), "tanh_output" : Decimal128("0.7293303448445332820512777329448416") }
Como angle é armazenado como um 128decimal de bits, a saída também é $tanh um 128decimal de bits.
A seguinte coleção trigonometry contém um documento que armazena um valor angle medido em radianos:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d55" ), "angle" : Decimal128( "1.6301023541559787031443874490659" ) } )
A seguinte operação de agregação utiliza a expressão para calcular a tangente hiperbólica $tanh do angle e a adiciona ao documento de entrada $addFields utilizando o estágio de pipeline:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : "$angle" } } } ] )
Saída de exemplo:
{ "_id" : ObjectId("5c50782193f833234ba90d55"), "angle" : Decimal128("1.6301023541559787031443874490659"), "tanh_output" : Decimal128("0.9260761562750713360156803177935379") }
Como angle é armazenado como um 128decimal de bits, a saída também é $tanh um 128decimal de bits.