Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$atan2
Nuovo dalla versione 8.0.1.
L'$atan2operatore in Amazon DocumentDB restituisce la tangente inversa (arcotangente) diy / x, dove y e x sono rispettivamente il primo e il secondo valore passati all'espressione.
Entrambe le espressioni devono essere convertite in valori numerici. L'operatore utilizza il segno di entrambi gli argomenti per determinare il quadrante corretto.
Il risultato è in radianti. Per ottenere gradi, applicali $radiansToDegrees all'output.
Il tipo restituito è double predefinito. Se gli input sono decimali a 128 bit, anche l'output è un decimale a 128 bit.
Parametri
-
expression 1(y): Un'espressione che si risolve in un numero che rappresenta la coordinata y. -
expression 2(x): Un'espressione che si risolve in un numero che rappresenta la coordinata x.
Comportamento
null e NaN
Se uno degli argomenti è null (o fa riferimento a un campo mancante), il risultato ènull. Se uno degli argomenti èNaN, il risultato èNaN. Quando un argomento è null e l'altro èNaN, ha la null precedenza.
| Esempio | Risultati |
|---|---|
{ $atan2: [ NaN, <value> ] } |
NaN |
{ $atan2: [ <value>, NaN ] } |
NaN |
{ $atan2: [ null, <value> ] } |
null |
{ $atan2: [ <value>, null ] } |
null |
{ $atan2: [ NaN, null ] } |
null |
{ $atan2: [ null, NaN ] } |
null |
Esempio (MongoDB Shell)
L'esempio seguente mostra come utilizzare l'$atan2operatore per calcolare l'arcotangente di y/x per un insieme di punti.
Crea documenti di esempio
db.points.insertMany([ { "_id": 1, "y": 1, "x": 1 }, { "_id": 2, "y": 1, "x": 0 }, { "_id": 3, "y": -1, "x": -1 } ]);
Esempio di interrogazione
db.points.aggregate([ { $project: { "angle": { $atan2: ["$y", "$x"] } }} ]);
Output
[
{ "_id": 1, "angle": 0.7853981633974483 },
{ "_id": 2, "angle": 1.5707963267948966 },
{ "_id": 3, "angle": -2.356194490192345 }
]
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo $atan2 dell'operatore, scegli la scheda corrispondente alla lingua che desideri utilizzare: