MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB countDocuments()

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 untuk countDocuments() dan estimatedDocumentCount() . 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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bisakah JSON $dates yang ketat digunakan dalam kueri MongoDB?

  2. MongoDB, kinerja kueri dengan ekspresi reguler pada bidang yang diindeks

  3. Periksa Keberadaan Koleksi di MongoDB

  4. pagination array mongoDB

  5. Mongoose find() RegExp untuk bidang tipe Angka