Mongodb: cara mengelompokkan dan menghitung
Anda dapat menggunakan sintaks berikut untuk mengelompokkan dan menghitung di MongoDB:
 db.collection.aggregate([
    { $group : { _id : " $field_name ", count :{ $sum :1}}}
])
Perhatikan bahwa field_name adalah bidang yang ingin Anda kelompokkan.
Contoh berikut memperlihatkan cara menggunakan sintaksis ini dengan tim koleksi dengan dokumen berikut:
 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
Contoh 1: mengelompokkan berdasarkan dan menghitung
Kita dapat menggunakan kode berikut untuk mengelompokkan berdasarkan bidang “posisi” dan menghitung kemunculan setiap posisi.
 db.teams.aggregate([
    { $group : { _id : " $position ", count :{ $sum :1}}}
])
Ini mengembalikan hasil berikut:
 { _id: ' Forward ', count: 1 }
{ _id: ' Guard ', count: 3 }
{ _id: ' Center ', count: 1 }
Ini memberitahu kita:
- Posisi “Maju” muncul 1 kali.
 - Posisi “Penjaga” muncul 3 kali.
 - Posisi “Tengah” muncul 1 kali.
 
Contoh 2: mengelompokkan berdasarkan dan menghitung (lalu mengurutkan)
Kita dapat menggunakan kode berikut untuk menghitung kemunculan setiap posisi dan secara otomatis mengurutkan hasilnya dalam urutan menaik :
 db.teams.aggregate([
    { $group : { _id : " $position ", count :{ $sum :1}}},
    { $sort : { count : 1}} 
])
Ini mengembalikan hasil berikut:
 { _id: ' Forward ', count: 1 }
{ _id: ' Center ', count: 1 }
{ _id: ' Guard ', count: 3 }
Kita dapat menggunakan -1 dalam argumen count untuk mengurutkan hasil dalam urutan menurun :
 db.teams.aggregate([
    { $group : { _id : " $position ", count :{ $sum :1}}},
    { $sort : { count :-1}} 
])
Ini mengembalikan hasil berikut:
 { _id: ' Guard ', count: 3 }
{ _id: ' Forward ', count: 1 }
{ _id: ' Center ', count: 1 }
Catatan : Anda dapat menemukan dokumentasi lengkap untuk $group di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:
 MongoDB: Cara mengelompokkan berdasarkan dan menjumlahkan
 MongoDB: Cara menghitung nilai berbeda dalam suatu bidang
 MongoDB: Cara mengelompokkan berdasarkan beberapa bidang