Di MongoDB count
perintah agregasi menghitung jumlah dokumen dalam koleksi atau tampilan.
Ini mengembalikan dokumen yang berisi hitungan serta status perintah.
Contoh
Misalkan kita memiliki koleksi yang disebut pets
dengan dokumen sebagai berikut:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 } { "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 } { "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 } { "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 } { "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 } { "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 } { "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
Kita dapat menggunakan query berikut untuk mengembalikan jumlah dokumen dalam koleksi:
db.runCommand( { count: "pets" } )
Hasil:
{ "n" : 7, "ok" : 1 }
Dokumentasi MongoDB sebenarnya merekomendasikan untuk tidak menggunakan count
perintah dan metode pembungkusnya tanpa predikat kueri. Ini karena, saat dijalankan tanpa predikat kueri, ia mengembalikan hasil berdasarkan metadata koleksi, yang dapat menghasilkan perkiraan jumlah.
Hitung Hasil Query
Anda dapat menghitung hasil kueri dengan menggunakan formulir berikut.
Contoh:
db.runCommand( {
count: "pets",
query: { type: "Dog" }
} )
Hasil:
{ "n" : 4, "ok" : 1 }
Dalam contoh ini, kita dapat melihat bahwa ada empat anjing dalam koleksi.
Mari kita periksa jumlah kueri lain. Kali ini kita akan mencari tahu berapa banyak hewan peliharaan yang memiliki berat lebih dari jumlah tertentu.
db.runCommand( { count:'pets',
query: { weight: { $gt: 10 } }
} )
Hasil:
{ "n" : 3, "ok" : 1 }
Batasi Hitungan
Anda dapat menggunakan limit
parameter untuk menentukan jumlah maksimum dokumen yang akan dihitung.
Contoh:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
limit: 3
} )
Hasil:
{ "n" : 3, "ok" : 1 }
Kita telah melihat sebelumnya bahwa sebenarnya ada 4 anjing, tetapi dalam contoh ini kita membatasinya untuk menghitung maksimal 3.
Jika batas lebih tinggi dari jumlah sebenarnya, maka hasilnya tidak akan terpengaruh oleh limit
argumen.
Contoh:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
limit: 10
} )
Hasil:
{ "n" : 4, "ok" : 1 }
Melewatkan Dokumen
Anda dapat menggunakan skip
parameter untuk melewati sejumlah dokumen sebelum menghitung.
Contoh:
db.runCommand( {
count: "pets",
query: { type: "Dog" },
skip: 2
} )
Hasil:
{ "n" : 2, "ok" : 1 }
Penghentian
Perhatikan bahwa dokumentasi MongoDB menyatakan sebagai berikut:
Driver MongoDB yang kompatibel dengan fitur 4.0 tidak lagi menggunakan kursor dan koleksinya masing-masing
count()
API (yang menjalankancount
command) mendukung API baru yang sesuai dengancountDocuments()
danestimatedDocumentCount()
. Untuk nama API spesifik untuk driver tertentu, lihat dokumentasi API driver.
Informasi Lebih Lanjut
count
perintah mencakup bidang lain, seperti hint
, comment
, readConcern
, dan collation
.
Lihat dokumentasi MongoDB untuk informasi lebih lanjut.