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

MongoDB menghitung nilai yang berbeda?

Sementara .distinct() bekerja dengan baik hanya untuk mendapatkan nilai yang berbeda untuk suatu bidang, untuk benar-benar mendapatkan jumlah kemunculan, ini lebih cocok untuk kerangka kerja agregasi:

Collection.aggregate([
    { "$group": {
        "_id": "$field",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});

Juga .distinct() metode melakukan "abstrak" dari tempat bidang "berbeda" yang ditentukan sebenarnya berada dalam array. Dalam hal ini, Anda perlu memanggil $unwind pertama untuk memproses elemen array di sini:

Collection.aggregate([
    { "$unwind": "$array" },
    { "$group": {
        "_id": "$array.field",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});

Jadi pekerjaan utama pada dasarnya dilakukan di $group dengan "pengelompokan" pada nilai bidang, yang artinya sama dengan "berbeda". $sum adalah operator pengelompokan yang dalam hal ini hanya menambahkan 1 untuk setiap kemunculan nilai itu di bidang untuk koleksi itu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB di Azure:Bagaimana Cara Memilih Jenis Instans yang Tepat?

  2. Agregat MongoDB dalam pengelompokan harian

  3. Agregat Mongodb (hitungan) di beberapa bidang secara bersamaan

  4. 3 Cara Menjatuhkan Indeks di MongoDB

  5. MongoDB vs MySQL NoSQL - Mengapa Mongo Lebih Baik