View a markdown version of this page

$atanh - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$atanh

Nuevo a partir de la versión 8.0.1.

El $atanh operador de Amazon DocumentDB devuelve la tangente hiperbólica inversa (arcotangente hiperbólica) de un valor.

La expresión de entrada debe tener como resultado un número comprendido en el rango de (inclusive). -1 1 Los valores que están fuera de este rango provocan un error.

El tipo de devolución es double el predeterminado. Si la entrada es un decimal de 128 bits, la salida también es un decimal de 128 bits.

Parámetros

  • expression: expresión que se resuelve en un número comprendido entre -1 y, ambos inclusive. 1

Comportamiento

null, NaN y +/- Infinity

Ejemplo Resultados
{ $atanh: NaN } NaN
{ $atanh: null } null
{ $atanh: 1 } Infinity
{ $atanh: -1 } -Infinity
{ $atanh: Infinity } o { $atanh: -Infinity } Lanza un error.

Cuando la entrada es null o falta el campo al que se hace referencia, el resultado esnull. Una entrada de NaN productosNaN. Los valores límite 1 y -1 produce Infinity y-Infinity, respectivamente. Cualquier valor fuera del [-1, 1] rango (incluido±Infinity) provoca un error.

Ejemplo (MongoDB Shell)

El siguiente ejemplo muestra cómo usar el $atanh operador para calcular la tangente hiperbólica inversa de un valor.

Cree documentos de muestra

db.values.insertMany([ { "_id": 1, "value": 0 }, { "_id": 2, "value": 0.5 }, { "_id": 3, "value": -0.5 } ]);

Ejemplo de consulta

db.values.aggregate([ { $project: { "result": { $atanh: "$value" } }} ]);

Salida

[ { "_id": 1, "result": 0 }, { "_id": 2, "result": 0.5493061443340548 }, { "_id": 3, "result": -0.5493061443340548 } ]

Ejemplos de código

Para ver un ejemplo de código sobre el uso del $atanh operador, elige la pestaña del idioma que quieres usar:

Node.js
const { MongoClient } = require('mongodb'); async function main() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('values'); const result = await collection.aggregate([ { $project: { "result": { $atanh: "$value" } }} ]).toArray(); console.log(result); await client.close(); } main();
Python
from pymongo import MongoClient def main(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['values'] result = list(collection.aggregate([ { '$project': { 'result': { '$atanh': '$value' } }} ])) print(result) client.close() if __name__ == "__main__": main()