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

Kerangka Agregasi MongoDB - Bagaimana Cara Mencocokkan Berdasarkan Rentang Tanggal, Kelompokkan Berdasarkan Hari, dan Rata-Rata Pengembalian Untuk Setiap Hari?

Masalahnya tampaknya dengan _id Anda gunakan untuk $group. Anda harus mengelompokkan menurut $day daripada null , jika Anda ingin mengelompokkan hasil menurut hari. Coba ini:

PriceHourly.aggregate([
    { $match: { date: { $gt: start, $lt: end } } },
    { $group: { _id: "$day", price: { $avg: '$price' } } }
], function(err, results){
    console.log(results); 
});

Karena itu, Anda tidak perlu menyimpan hari dan jam sebagai elemen terpisah dalam dokumen. Ini data yang berlebihan. Anda dapat mengekstrak day dan hour dari date bidang dalam kueri agregasi menggunakan Date Aggregation operator.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menjalankan SlaveOk di Mongoose?

  2. Cara merepresentasikan array dengan tipe campuran

  3. Hitung persentase kemunculan secara efisien di MongoDB

  4. PyMongo vs MongoEngine untuk Django

  5. Instance Mongo mana di Replica Set yang dipanggil oleh aplikasi?