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

Bagaimana cara mengagregasi berdasarkan tanggal ketika stempel waktu penuh diberikan dalam kerangka agregasi?

Anda dapat melakukannya dengan menggunakan operator agregasi berikut:

  • $grup
  • $tahun
  • $bulan
  • $dayOfMonth

Ini memberi Anda jumlah kesalahan untuk setiap tanggal:

db.errors.aggregate(
    { $group : {
        _id: {
            year : { $year : "$date" },        
            month : { $month : "$date" },        
            day : { $dayOfMonth : "$date" },
        },
        count: { $sum: 1 }
    }}
);

Contoh ini mengasumsikan bahwa bidang tanggal dalam dokumen kesalahan Anda adalah date dan tipe Tanggal BSON. Ada juga jenis Timestamp di MongoDB, tetapi penggunaan jenis ini secara eksplisit tidak disarankan oleh dokumentasi:

Catatan:Jenis Timestamp BSON adalah untuk penggunaan internal MongoDB. Untuk kebanyakan kasus, dalam pengembangan aplikasi, Anda akan ingin menggunakan tipe tanggal BSON. Lihat Tanggal untuk informasi lebih lanjut.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Banyak koneksi luwak

  2. MongoDB:pembaruan tanpa syarat?

  3. Meteor - collection.find() selalu mengembalikan semua bidang

  4. Bagaimana cara menggabungkan array dari banyak dokumen di MongoDB?

  5. MongoDB $oid vs ObjectId