$tanhDevuelve la tangente hiperbólica de un valor medido en radianes.
$tanhtiene la siguiente sintaxis:{ $tanh: <expression> } $tanhacepta cualquier expresión válida que dé como resultado un número, medido en radianes. Si la expresión devuelve un valor en grados, utilice el operador para convertirlo a$degreesToRadiansradianes.Por defecto, devuelve valores
$tanhcomodoubleun. también puede$tanh128devolver valores como un decimal de bits si el se<expression>resuelve en un 128valor decimal de bits.Para obtener más información sobre las expresiones, consulta Expresiones.
Comportamiento
null, NaN, y +/- Infinity
Si el argumento de entrada se resuelve en un valor de null o hace referencia a un campo que no está presente, $tanh nulldevuelve. Si el argumento se resuelve NaN en, $tanh NaNdevuelve. Si el argumento se resuelve en negativo o positivo,Infinity $tanh devuelve -1 o 1 respectivamente.
Ejemplo | Resultados |
|---|---|
|
|
|
|
|
|
|
|
Ejemplo
La siguiente colección de trigonometry contiene un documento que almacena un valor de angle medido en grados:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d45" ), "angle" : Decimal128( "53.1301023541559787031443874490659" ) } )
La siguiente operación de agregación utiliza la expresión para calcular la tangente hiperbólica $tanh de angle y la agrega al documento $addFields de entrada utilizando la etapa de canalización:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : { $degreesToRadians : "$angle" } } } } ] )
La expresión $degreesToRadians convierte los angle en grados a radianes.
Ejemplo de salida:
{ "_id" : ObjectId("5c50782193f833234ba90d45"), "angle" : Decimal128("53.1301023541559787031443874490659"), "tanh_output" : Decimal128("0.7293303448445332820512777329448416") }
Debido a angle que se almacena como un 128decimal de bits, la salida también es $tanh un 128decimal de bits.
La siguiente colección trigonometry contiene un documento que almacena un valor angle medido en radianes:
db.trigonometry.insertOne( { "_id" : ObjectId( "5c50782193f833234ba90d55" ), "angle" : Decimal128( "1.6301023541559787031443874490659" ) } )
La siguiente operación de agregación utiliza la expresión para calcular la tangente hiperbólica $tanh de angle y la agrega al documento $addFields de entrada utilizando la etapa de canalización:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : "$angle" } } } ] )
Ejemplo de salida:
{ "_id" : ObjectId("5c50782193f833234ba90d55"), "angle" : Decimal128("1.6301023541559787031443874490659"), "tanh_output" : Decimal128("0.9260761562750713360156803177935379") }
Debido a angle que se almacena como un 128decimal de bits, la salida también es $tanh un 128decimal de bits.