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.
$atan2
Neu ab Version 8.0.1.
Der $atan2 Operator in Amazon DocumentDB gibt den umgekehrten Tangens (Arkustangens) von zurücky / x, wobei y und der erste bzw. zweite Wert x sind, der an den Ausdruck übergeben wird.
Beide Ausdrücke müssen in numerische Werte aufgelöst werden. Der Operator verwendet das Vorzeichen beider Argumente, um den richtigen Quadranten zu bestimmen.
Das Ergebnis wird im Bogenmaß angegeben. Um Grade zu erhalten, wenden Sie $radiansToDegrees sich an die Ausgabe.
Der Rückgabetyp ist double standardmäßig. Wenn die Eingaben 128-Bit-Dezimalzahlen sind, ist die Ausgabe ebenfalls eine 128-Bit-Dezimalzahl.
Parameter
-
expression 1(y): Ein Ausdruck, der in eine Zahl aufgelöst wird, die die Y-Koordinate darstellt. -
expression 2(x): Ein Ausdruck, der in eine Zahl aufgelöst wird, die die X-Koordinate darstellt.
Behavior
null und NaN
Wenn eines der Argumente gleich ist null (oder auf ein fehlendes Feld verweist), ist null das Ergebnis Wenn eines der Argumente gleich istNaN, ist das ErgebnisNaN. Wenn ein Argument ist null und das andere istNaN, hat null Vorrang.
| Beispiel | Ergebnisse |
|---|---|
{ $atan2: [ NaN, <value> ] } |
NaN |
{ $atan2: [ <value>, NaN ] } |
NaN |
{ $atan2: [ null, <value> ] } |
null |
{ $atan2: [ <value>, null ] } |
null |
{ $atan2: [ NaN, null ] } |
null |
{ $atan2: [ null, NaN ] } |
null |
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt, wie der $atan2 Operator verwendet wird, um den Arkustangens von y/x für eine Reihe von Punkten zu berechnen.
Erstellen Sie Beispieldokumente
db.points.insertMany([ { "_id": 1, "y": 1, "x": 1 }, { "_id": 2, "y": 1, "x": 0 }, { "_id": 3, "y": -1, "x": -1 } ]);
Beispiel für eine Abfrage
db.points.aggregate([ { $project: { "angle": { $atan2: ["$y", "$x"] } }} ]);
Ausgabe
[
{ "_id": 1, "angle": 0.7853981633974483 },
{ "_id": 2, "angle": 1.5707963267948966 },
{ "_id": 3, "angle": -2.356194490192345 }
]
Codebeispiele
Um ein Codebeispiel für die Verwendung des $atan2 Operators anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: