$tanhDevuelve la tangente hiperbólica de un valor medido en radianes.
$tanhtiene la siguiente sintaxis:{ $tanh: <expression> } $tanhtakes any valid Expresión que se resuelve en un número, medido en radianes. Si la expresión devuelve un valor en grados, utilice el operador$degreesToRadianspara convertir el valor a radianes.Por defecto,
$tanhdevuelve valores como undouble.$tanhtambién puede devolver valores como un Decimal de128-bit si el<expression>se resuelve en un valor decimal de 128bits.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 se refiere a un campo que falta, $tanh devuelve null. Si el argumento se resuelve en NaN, $tanh devuelve NaN. Si el argumento se resuelve en Infinity negativo o positivo, $tanh devuelve -1 o 1 respectivamente.
Ejemplo | Resultados |
|---|---|
|
|
|
|
|
|
|
|
Ejemplo
La siguiente colección trigonometry contiene un documento que almacena un valor 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 $tanh para calcular la tangente hiperbólica de angle y la añade al documento de entrada utilizando la etapa del pipeline $addFields:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : { $degreesToRadians : "$angle" } } } } ] )
La expresión convierte $degreesToRadians los angle en grados a radianes.
Ejemplo de salida:
{ "_id" : ObjectId("5c50782193f833234ba90d45"), "angle" : Decimal128("53.1301023541559787031443874490659"), "tanh_output" : Decimal128("0.7293303448445332820512777329448416") }
Como angle se almacena como un decimal de128bits, la salida del $tanh también es un decimal de 128bits.
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 $tanh para calcular la tangente hiperbólica de angle y la añade al documento de entrada utilizando la etapa del pipeline $addFields:
db.trigonometry.aggregate( [ { $addFields : { "tanh_output" : { $tanh : "$angle" } } } ] )
Ejemplo de salida:
{ "_id" : ObjectId("5c50782193f833234ba90d55"), "angle" : Decimal128("1.6301023541559787031443874490659"), "tanh_output" : Decimal128("0.9260761562750713360156803177935379") }
Como angle se almacena como un decimal de128bits, la salida del $tanh también es un decimal de 128bits.