$tanhDevuelve la tangente hiperbólica de un valor medido en radianes.
$tanhtiene la siguiente sintaxis:{ $tanh: <expression> } $tanhtoma cualquier válido Expresión que se resuelve en un número, medido en radianes. Si la expresión devuelve un valor en grados, utilice el operador para convertir el valor a$degreesToRadiansradianes.De forma predeterminada,
$tanhdevuelve valores comodouble.$tanhtambién puede devolver valores como un decimal de128bits si<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 hace referencia a un campo faltante, $tanh nulldevuelve. Si se resuelve NaN en, $tanh NaNdevuelve. Si se resuelve en un valor negativo o positivo Infinity de, $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 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 convierte $degreesToRadians los angle en grados a radianes.
Ejemplo de salida:
{ "_id" : ObjectId("5c50782193f833234ba90d45"), "angle" : Decimal128("53.1301023541559787031443874490659"), "tanh_output" : Decimal128("0.7293303448445332820512777329448416") }
Dado que angle 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") }
Dado que angle se almacena como un 128decimal de bits, la salida también es $tanh un 128decimal de bits.