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

Hitung bidang dalam Koleksi MongoDB

Ulangi seluruh koleksi, dan temukan seluruh jumlah bidang yang ada

Sekarang Anda dapat menggunakan operator agregasi $objectToArray (SERVER-23310) untuk mengubah kunci menjadi nilai dan menghitungnya. Operator ini tersedia di MongoDB v3.4.4+

Misalnya:

db.collection.aggregate([
         {"$project":{"numFields":{"$size":{"$objectToArray":"$$ROOT"}}}}, 
         {"$group":{"_id":null, "fields":{"$sum":"$numFields"}, "docs":{"$sum":1}}}, 
         {"$project":{"total":{"$subtract":["$fields", "$docs"]}, _id:0}}
])

Tahap pertama $project adalah mengubah semua kunci menjadi larik untuk menghitung bidang. Tahap kedua $group adalah menjumlahkan jumlah kunci/bidang dalam koleksi, juga jumlah dokumen yang diproses. Tahap ketiga $project adalah mengurangi jumlah total bidang dengan jumlah total dokumen (Karena Anda tidak ingin menghitung _id ).

Anda dapat dengan mudah menambahkan $avg untuk menghitung rata-rata pada tahap terakhir.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Semua yang Perlu Anda Ketahui Tentang Klien MongoDB

  2. Apa itu MongoDB, dan bagaimana cara kerjanya?

  3. Kueri Java/MongoDB berdasarkan tanggal

  4. Terapkan fitur pelengkapan otomatis menggunakan pencarian MongoDB

  5. Apa cara terbaik untuk menangani koneksi global Mongodb di NodeJs