Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
$median
Baru dari versi 8.0.1.
$medianOperator di Amazon DocumentDB menghitung nilai median data numerik. Sebagai akumulator, ia menghitung median nilai numerik di seluruh dokumen dalam grup dalam $group tahap pipeline agregasi. Sebagai ekspresi, ia menghitung median dari array angka.
Parameter
-
input: Ekspresi yang diselesaikan ke nilai numerik atau array nilai numerik. -
method: Sebuah string yang menentukan metode perhitungan. Saat ini hanya"approximate"didukung, yang menggunakan algoritma t-Digest.
Perilaku
"approximate"Metode ini menggunakan algoritma t-Digest untuk menghitung median perkiraan. Hasilnya adalah nilai yang ada dari dataset bukan interpolasi antar nilai. Presisi meningkat seiring bertambahnya jumlah titik data.
Contoh (MongoDB Shell)
Contoh berikut menunjukkan cara menggunakan $median operator untuk menghitung skor tes median per kelas.
Buat dokumen sampel
db.students.insertMany([ { class: "A", score: 72 }, { class: "A", score: 85 }, { class: "A", score: 90 }, { class: "A", score: 68 }, { class: "A", score: 95 }, { class: "B", score: 80 }, { class: "B", score: 75 }, { class: "B", score: 92 }, { class: "B", score: 88 }, { class: "B", score: 70 } ]);
Contoh kueri
db.students.aggregate([ { $group: { _id: "$class", medianScore: { $median: { input: "$score", method: "approximate" } } }} ]);
Keluaran
[
{ "_id": "A", "medianScore": 85 },
{ "_id": "B", "medianScore": 80 }
]
Contoh penggunaan ekspresi (MongoDB Shell)
$medianOperator juga dapat digunakan sebagai ekspresi dalam $project tahap untuk menghitung median bidang array.
Buat dokumen sampel
db.surveys.insertMany([ { _id: 1, ratings: [3, 5, 7, 9, 2] }, { _id: 2, ratings: [10, 20, 30, 40, 50] }, { _id: 3, ratings: [1, 1, 2, 3, 5] } ]);
Contoh kueri
db.surveys.aggregate([ { $project: { medianRating: { $median: { input: "$ratings", method: "approximate" } } }} ]);
Keluaran
[
{ "_id": 1, "medianRating": 5 },
{ "_id": 2, "medianRating": 30 },
{ "_id": 3, "medianRating": 2 }
]
Contoh kode
Untuk melihat contoh kode untuk menggunakan $median operator, pilih tab untuk bahasa yang ingin Anda gunakan. Contoh berikut menunjukkan penggunaan akumulator (in$group) dan penggunaan ekspresi (in$project):