Di MongoDB cursor.count()
metode menghitung jumlah dokumen yang dirujuk oleh kursor..
Perhatikan bahwa itu tidak benar-benar melakukan kueri. Ini hanya menghitung dan mengembalikan jumlah hasil yang akan dikembalikan oleh kueri.
cursor.count()
metode adalah pembungkus untuk count
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.pets.find().count()
Hasil:
7
Ini sama dengan melakukan hal berikut:
db.pets.count()
Hasil:
7
Dokumentasi MongoDB sebenarnya menyarankan untuk tidak menggunakan cursor.count()
ketika find()
metode dipanggil tanpa predikat kueri. Ini karena dalam kasus seperti itu, hasilnya didasarkan pada metadata koleksi, yang dapat menghasilkan perkiraan jumlah.
Hitung Hasil Query
Anda dapat menghitung hasil kueri dengan meneruskan kriteria kueri ke find()
metode.
Contoh:
db.pets.find({"type": "Dog"}).count()
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.find({"weight": { $gt: 10 }}).count()
Hasil:
3
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 mendukung API baru untukcountDocuments()
danestimatedDocumentCount()
. Untuk nama API spesifik untuk driver tertentu, lihat dokumentasi driver.
applySkipLimit
Parameter
cursor.count()
metode menerima satu parameter opsional:applySkipLimit
parameter.
Parameter ini menentukan apakah akan mempertimbangkan efek cursor.skip()
dan cursor.limit()
metode dalam hitungan.
Secara default, ini mengabaikan efek apa pun dari kedua metode tersebut. Untuk memasukkan efek, gunakan appySkipLimit: true
.
Informasi Lebih Lanjut
Lihat dokumentasi MongoDB untuk informasi lebih lanjut.