Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$atan2
Baru dari versi 8.0.1.
$atan2Operator di Amazon DocumentDB mengembalikan tangen terbalik (tangen busur) dariy / x, di mana y dan x merupakan nilai pertama dan kedua yang diteruskan ke ekspresi masing-masing.
Kedua ekspresi harus diselesaikan ke nilai numerik. Operator menggunakan tanda kedua argumen untuk menentukan kuadran yang benar.
Hasilnya dalam radian. Untuk mendapatkan gelar, terap $radiansToDegrees kan ke output.
Jenis pengembalian adalah double secara default. Jika input adalah desimal 128-bit, output juga desimal 128-bit.
Parameter
-
expression 1(y): Ekspresi yang diselesaikan ke angka yang mewakili koordinat y. -
expression 2(x): Ekspresi yang diselesaikan ke angka yang mewakili koordinat x.
Perilaku
null dan NaN
Jika salah satu argumen adalah null (atau mereferensikan bidang yang hilang), hasilnya adalahnull. Jika salah satu argumen adalahNaN, hasilnya adalahNaN. Ketika satu argumen adalah null dan yang lainnyaNaN, diut null amakan.
| Contoh | Hasil |
|---|---|
{ $atan2: [ NaN, <value> ] } |
NaN |
{ $atan2: [ <value>, NaN ] } |
NaN |
{ $atan2: [ null, <value> ] } |
null |
{ $atan2: [ <value>, null ] } |
null |
{ $atan2: [ NaN, null ] } |
null |
{ $atan2: [ null, NaN ] } |
null |
Contoh (MongoDB Shell)
Contoh berikut menunjukkan bagaimana menggunakan $atan2 operator untuk menghitung arctangen dari y/x untuk satu set titik.
Buat dokumen sampel
db.points.insertMany([ { "_id": 1, "y": 1, "x": 1 }, { "_id": 2, "y": 1, "x": 0 }, { "_id": 3, "y": -1, "x": -1 } ]);
Contoh kueri
db.points.aggregate([ { $project: { "angle": { $atan2: ["$y", "$x"] } }} ]);
Keluaran
[
{ "_id": 1, "angle": 0.7853981633974483 },
{ "_id": 2, "angle": 1.5707963267948966 },
{ "_id": 3, "angle": -2.356194490192345 }
]
Contoh kode
Untuk melihat contoh kode untuk menggunakan $atan2 operator, pilih tab untuk bahasa yang ingin Anda gunakan: