

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# $atanh
<a name="atanh"></a>

Neu ab Version 8.0.1.

Der `$atanh` Operator in Amazon DocumentDB gibt den umgekehrten hyperbolischen Tangens (hyperbolische Bogentangente) eines Werts zurück.

Der Eingabeausdruck muss in eine Zahl im Bereich bis (einschließlich) aufgelöst werden. `-1` `1` Werte außerhalb dieses Bereichs verursachen einen Fehler.

Der Rückgabetyp ist `double` standardmäßig. Wenn die Eingabe eine 128-Bit-Dezimalzahl ist, ist die Ausgabe ebenfalls eine 128-Bit-Dezimalzahl.

**Parameter**
+ `expression`: Ein Ausdruck, der in eine Zahl zwischen `-1` und `1` (einschließlich) aufgelöst wird.

## Behavior
<a name="atanh-behavior"></a>

**Null, NaN und \+/- Unendlich **


| Beispiel | Ergebnisse | 
| --- | --- | 
| { $atanh: NaN } | NaN | 
| { $atanh: null } | null | 
| { $atanh: 1 } | Infinity | 
| { $atanh: -1 } | -Infinity | 
| { $atanh: Infinity } oder { $atanh: -Infinity } | Wirft einen Fehler aus. | 

Wenn die Eingabe ist `null` oder das Feld, auf das verwiesen wird, fehlt, lautet `null` das Ergebnis. Eine Eingabe von `NaN` ergibt`NaN`. Die Grenzwerte `1` `-1` `Infinity` und das `-Infinity` Produkt bzw. Jeder Wert außerhalb des `[-1, 1]` Bereichs (einschließlich`±Infinity`) verursacht einen Fehler.

## Beispiel (MongoDB Shell)
<a name="atanh-examples"></a>

Das folgende Beispiel zeigt, wie der `$atanh` Operator verwendet wird, um den inversen hyperbolischen Tangens eines Werts zu berechnen.

**Erstellen Sie Beispieldokumente **

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

**Beispiel für eine Abfrage **

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

**Ausgabe**

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

## Codebeispiele
<a name="atanh-code"></a>

Um ein Codebeispiel für die Verwendung des `$atanh` Operators anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

------
#### [ 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()
```

------