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

MongoDB $sum dan $avg sub dokumen

Untuk mendapatkan jumlah dan rata-rata dari Channels.Value elemen untuk setiap dokumen dalam koleksi Anda, Anda harus menggunakan pemrosesan Agregasi mongodb. Selanjutnya, sejak Channels adalah larik, Anda perlu menggunakan operator $unwind untuk mendekonstruksi larik.

Dengan asumsi bahwa koleksi Anda disebut example , berikut ini cara mendapatkan jumlah dokumen dan rata-rata Channels.Value s:

db.example.aggregate( [ 
    { 
        "$unwind" : "$Channels"
    }, 
    {
        "$group" : {
            "_id" : "$_id",
            "documentSum" : { "$sum" : "$Channels.Value" },
            "documentAvg" : { "$avg" : "$Channels.Value" }
         }
    }
] )

Output dari data posting Anda adalah:

{ 
    "_id" : SomeObjectIdValue,
    "documentSum" : 76,
    "documentAvg" : 25.333333333333332
}

Jika Anda memiliki lebih dari satu dokumen dalam koleksi Anda, maka Anda akan melihat baris hasil untuk setiap dokumen yang berisi Channels larik.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Mengakses MongoDB

  2. data pegas - Mongodb - Metode findBy untuk objek bersarang

  3. Mengelola Beberapa Teknologi Basis Data dengan ClusterControl

  4. DropIndexes MongoDB()

  5. Database Dokumen:Data redundan, referensi, dll. (khusus MongoDB)