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

Dapatkan persentase dengan agregat MongoDB $group

Yah saya pikir percentage harus berupa string jika nilainya mengandung %

Pertama, Anda harus count jumlah dokumen.

var nums = db.collection.count();

db.collection.aggregate(
    [
        { "$group": { "_id": {"type":  "$type"}, "count": { "$sum": 1 }}},    
        { "$project": { 
            "count": 1, 
            "percentage": { 
                "$concat": [ { "$substr": [ { "$multiply": [ { "$divide": [ "$count", {"$literal": nums }] }, 100 ] }, 0,2 ] }, "", "%" ]}
            }
        }
    ]
)

Hasil

{ "_id" : { "type" : "short" }, "count" : 3, "percentage" : "60%" }
{ "_id" : { "type" : "big" }, "count" : 2, "percentage" : "40%" }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri MongoDB dengan kriteria panjang

  2. Nilai mutlak dengan kerangka agregasi MongoDB

  3. Bagaimana cara kerja penyortiran di ekstensi PECL mongodb baru?

  4. Buat Indeks Teks Multi-Bahasa di MongoDB

  5. Mengonfigurasi Peringatan di Metrik MongoDB