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

kelompokkan berdasarkan hari/bulan dan ambil rata-rata peringkat pada hari/bulan itu di mongo

Untuk mengelompokkan dokumen menurut hari/bulan dan mengembalikan kunci bulan di output Anda, Anda harus terlebih dahulu $project bidang utama ke format yang sesuai menggunakan Tanggal operator, khususnya $ dateToString dan $month operator.

Ini dapat dilakukan di $proyek tahap sebelum $group langkah tetapi tidak perlu karena $grup pipeline mengakomodasi sebagian besar akumulator operator.

Dalam $group pipa, Anda dapat mengelompokkan dokumen berdasarkan kunci tanggal yang diformat, agregat menggunakan $avg operator dan kembalikan bulan sebagai bilangan bulat dari pipeline sebelumnya menggunakan $first operator akumulator.

Menjalankan pipa agregasi berikut akan memberi Anda hasil yang diinginkan:

db.collection.aggregate([
  { "$group": {
    "_id": { 
        "$dateToString": { "format": "%Y-%m-%d", "date": "$ceatedAt" } 
    },
    "average": { "$avg": "$rating" },
    "month": { "$first": { "$month": "$ceatedAt" } },
  } }
]) 


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb:mengembalikan filter yang cocok saat menggunakan $atau di find()

  2. kueri mongoDB menggunakan agregat untuk menanyakan tanggal terbaru suatu item

  3. konversi stempel waktu UTC ke stempel waktu zona lainnya

  4. Bagaimana cara mengganti nama/bidang alias saat mengambilnya dari MongoDB melalui kueri menggunakan drive asli MongoDB-Node.JS?

  5. Sesi Musim Semi dengan MongoDB