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

Kelompokkan berdasarkan hari/bulan/minggu pada rentang tanggal

Untuk pengelompokan setiap minggu, jalankan pipeline berikut yang utamanya menggunakan Operator Agregasi Tanggal untuk mengekstrak bagian tanggal:

db.collection.aggregate([
    { 
        "$project": {
            "createdAtWeek": { "$week": "$createdAt" },
            "createdAtMonth": { "$month": "$createdAt" },
            "rating": 1
        }
    },
    {
         "$group": {
             "_id": "$createdAtWeek",
             "average": { "$avg": "$rating" },
             "month": { "$first": "$createdAtMonth" }
         }
    }
])

dan untuk agregat bulanan, tukar $group kunci untuk menggunakan bidang bulan yang dibuat:

db.collection.aggregate([
    { 
        "$project": {
            "createdAtWeek": { "$week": "$createdAt" },
            "createdAtMonth": { "$month": "$createdAt" },
            "rating": 1
        }
    },
    {
         "$group": {
             "_id": "$createdAtMonth",
             "average": { "$avg": "$rating" },
             "week": { "$first": "$createdAtWeek" }
         }
    }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara memulai ulang Wadah Docker MongoDB yang ada dengan flag baru ke daemon

  2. Kondisi batas berganda di mongodb

  3. Bagaimana saya bisa mendapatkan semua nama bidang dari Dokumen Mongoid?

  4. Menggunakan MongoDB vs MySQL dengan banyak bidang JSON?

  5. API Connect menunjukkan kesalahan Cannot GET /apim/ saat memperbarui skema