Di MongoDB db.collection.countDocuments()
metode mengembalikan jumlah dokumen yang cocok dengan kueri untuk koleksi atau tampilan.
collection
bagian adalah nama koleksi atau tampilan untuk melakukan operasi penghitungan.
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.pets.countDocuments({})
Hasil:
7
Hitung Hasil Query
Anda dapat menghitung hasil kueri dengan melewati kriteria kueri.
Contoh:
db.pets.countDocuments({
"type": "Dog"
})
Hasil:
4
Dalam contoh ini, kami menemukan 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.pets.countDocuments({
"weight": { $gt: 10 }
})
Hasil:
3
Batasi Hitungan
Anda menggunakan limit
parameter untuk menentukan jumlah maksimum dokumen yang akan dihitung.
Contoh:
db.pets.countDocuments( {}, { limit: 5 } )
Hasil:
5
Kami melihat sebelumnya bahwa sebenarnya ada 7 dokumen dalam koleksi ini, tetapi dalam contoh ini kami membatasi untuk menghitung maksimal 5.
Jika batas lebih tinggi dari jumlah sebenarnya, maka hasilnya tidak akan terpengaruh oleh limit
argumen.
Contoh:
db.pets.countDocuments( {}, { limit: 10 } )
Hasil:
7
Melewatkan Dokumen
Anda dapat menghitung menggunakan skip
parameter untuk melewati sejumlah dokumen sebelum menghitung.
Contoh:
db.pets.countDocuments( {}, { skip: 5 } )
Hasil:
2
Penghentian count()
mendukung countDocuments()
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 mendukung API baru untukcountDocuments()
danestimatedDocumentCount()
. Untuk nama API spesifik untuk driver tertentu, lihat dokumentasi driver.
Informasi Lebih Lanjut
countDocuments()
metode tidak bergantung pada metadata untuk mengembalikan hitungan seperti count()
metode tidak. Sebagai gantinya, ia melakukan agregasi dokumen, yang menghasilkan penghitungan yang akurat (yang tidak selalu dapat dikatakan untuk count()
metode).
Menurut dokumentasi MongoDB, countDocuments()
akurat bahkan setelah shutdown yang tidak bersih atau dengan adanya dokumen yatim piatu dalam sharded cluster.
db.collection.count()
metode juga menerima hint
parameter dan maxTimeMS
parameter.
Lihat dokumentasi MongoDB untuk informasi lebih lanjut.