Mongodb: cara menghitung nilai rata-rata suatu bidang


Anda dapat menggunakan metode berikut untuk menghitung nilai rata-rata suatu bidang di MongoDB:

Metode 1: Hitung rata-rata lapangan

 db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])

Metode 2: Hitung rata-rata lapangan per kelompok

 db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $valueField "}}}])

Contoh berikut menunjukkan cara menggunakan setiap metode dengan tim pengumpulan dengan dokumen berikut:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12})
db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 9})

Contoh 1: Hitung rata-rata lapangan

Kita dapat menggunakan kode berikut untuk menghitung nilai rata-rata bidang poin :

 db.teams.aggregate([{ $group : {_id: null , avg_val:{$avg: " $points "}}}])

Kueri ini mengembalikan hasil berikut:

 { _id: null , avg_val: 26 }

Dari hasilnya terlihat bahwa nilai rata-rata pada kolom points adalah 26 .

Kita dapat memverifikasi kebenarannya secara manual dengan menghitung rata-rata nilai poin secara manual:

Poin rata-rata: (30 + 30 + 20 + 25 + 25) / 5 = 26 .

Contoh 2: menghitung rata-rata lapangan berdasarkan kelompok

Kita dapat menggunakan kode berikut untuk menghitung nilai rata-rata bidang poin , yang dikelompokkan berdasarkan bidang tim :

 db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])

Kueri ini mengembalikan hasil berikut:

 { _id: ' Spurs ', avg_val: 23.333333333333332 }
{ _id: ' Mavs ', avg_val: 30 }

Dari hasilnya kita dapat melihat:

  • Nilai rata-rata poin Spurs adalah 23,33 .
  • Nilai poin rata-rata untuk Mavs adalah 30 .

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi $avg di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:

MongoDB: Cara menambahkan bidang baru
MongoDB: Cara menghapus bidang
MongoDB: Cara mengelompokkan dan menghitung
MongoDB: Cara mengelompokkan berdasarkan beberapa bidang

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *