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

Kerangka Agregasi Mongodb | Kelompokkan beberapa nilai?

Oke, jadi solusinya adalah menentukan kunci agregat untuk nilai _id. Ini didokumentasikan di sini sebagai:

Anda dapat menentukan satu bidang dari dokumen dalam saluran, nilai yang dihitung sebelumnya, atau kunci agregat yang dibuat dari beberapa bidang yang masuk.

Tapi itu tidak benar-benar menentukan format untuk kunci agregat. Membaca dokumentasi sebelumnya di sini, saya melihat bahwa metode collection.group sebelumnya dapat mengambil banyak bidang dan struktur yang sama digunakan dalam kerangka kerja baru.

Jadi, untuk mengelompokkan beberapa bidang, Anda dapat menggunakan _id : { success:'$success', responseCode:'$responseCode', label:'$label'}

Seperti dalam:

resultsCollection.aggregate(
{ $match : { testid : testid} },
{ $skip : alreadyRead },
{ $project : {
        timeStamp : 1 ,
        label : 1,
        responseCode : 1 ,
        value : 1,
        success : 1
    }},
{ $group : {
        _id :  { success:'$success', responseCode:'$responseCode', label:'$label'},
        max_timeStamp : { $timeStamp : 1 },
        count_responseCode : { $sum : 1 },
        avg_value : { $sum : "$value" },
        count_success : { $sum : 1 }
    }}
);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengapa error mongod mati tapi subsys terkunci dan tidak cukup ruang kosong untuk file jurnal di Linux?

  2. Menggunakan findOne dalam satu lingkaran membutuhkan waktu terlalu lama di Node.js

  3. java.lang.NoClassDefFoundError saat menggunakan driver MongoDB

  4. Apa cara yang benar untuk Mengindeks di MongoDB ketika ada kombinasi besar bidang?

  5. MongoDB $inc