Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$atanh (operador de expresión)

$atanh

Devuelve la tangente hiperbólica inversa (arco tangente hiperbólica) de un valor.

$atanh tiene la siguiente sintaxis:

{ $atanh: <expression> }

$atanh takes any valid expresión que da como resultado un número entre -1 y 1, por ejemplo, -1 <= value <= 1.

$atanh devuelve valores en radianes. Utilice el operador $radiansToDegrees para convertir el valor de salida de radianes a grados.

Por defecto, $atanh devuelve valores como un double. $atanh también puede devolver valores como un decimal de128-bits, siempre y cuando el <expression> se resuelva en un valor decimal de 128-bits.

Para obtener más información sobre las expresiones, consulta Expresiones.

Si el argumento se resuelve en un valor de null, o hace referencia a un campo que falta, $atanh devuelve null. Si el argumento se resuelve como NaN, $atanh devuelve NaN. Si el argumento se resuelve a infinito negativo o positivo, $atanh arroja un error. Si el argumento se resuelve en +1 o -1, $atanh devuelve Infinity y -Infinity respectivamente.

Ejemplo
Resultados

{ $atanh: NaN }

NaN

{ $atanh: null }

null

{ $atanh: 1 }

Infinity

{ $atanh: -1}

-Infinity

{ $atanh : Infinity}

or

{ $atanh : -Infinity }

Genera un mensaje de error que se asemeja al siguiente resultado formateado:

"errmsg" :
"Failed to optimize pipeline :: caused by :: cannot
apply $atanh to -inf, value must in (-inf,inf)"

La colección trigonometry contiene un documento que almacena un valor a lo largo del eje x de un gráfico 2-D:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : Decimal128("0.5")
}

La siguiente operación de agregación utiliza la $atanh expresión para calcular la tangente hiperbólica inversa de x-coordinate y agregarla al documento $addFields de entrada utilizando la etapa de canalización.

db.trigonometry.aggregate([
{
$addFields : {
"y-coordinate" : {
$radiansToDegrees : { $atanh : "$x-coordinate" }
}
}
}
])

La expresión $radiansToDegrees convierte el valor en radianes devuelto por $atanh al valor equivalente en grados.

El comando devuelve la siguiente salida:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : Decimal128("0.5"),
"y-coordinate" : Decimal128("31.47292373094538001977241539068589")
}

Dado que x-coordinate se almacena como un decimal de128bits, la salida de $atanh es un decimal de 128bits.

La colección trigonometry contiene un documento que almacena un valor a lo largo del eje x de un gráfico 2-D:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : Decimal128("0.5")
}

La siguiente operación de agregación utiliza la $atanh expresión para calcular la tangente hiperbólica inversa de x-coordinate y agregarla al documento $addFields de entrada utilizando la etapa de canalización.

db.trigonometry.aggregate([
{
$addFields : {
"y-coordinate" : {
$atanh : "$x-coordinate"
}
}
}
])

El comando devuelve la siguiente salida:

{
"_id" : ObjectId("5c50782193f833234ba90d85"),
"x-coordinate" : Decimal128("0.5"),
"y-coordinate" : Decimal128("0.5493061443340548456976226184612628")
}

Dado que x-coordinate se almacena como un decimal de128bits, la salida de $asin es un decimal de 128bits.

Volver

$atan2

En esta página