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

Gabungkan hasil MongoDB berdasarkan tanggal ObjectId

Pembaruan:Ada cara bawaan untuk melakukan ini sekarang, lihat https://stackoverflow.com/a /51766657/295687

Tidak ada cara untuk mencapai apa yang Anda minta dengan kerangka kerja agregasi mongodb, karena tidak ada operator agregasi yang dapat mengubah ObjectId menjadi sesuatu seperti tanggal (ada JIRAticket , meskipun). Anda harus dapat mencapai apa yang Anda inginkan menggunakan pengurangan peta, namun:

// map function
function domap() {
    // turn ObjectId --> ISODate
    var date = this._id.getTimestamp();
    // format the date however you want
    var year = date.getFullYear();
    var month = date.getMonth();
    var day = date.getDate();

    // yields date string as key, entire document as value
    emit(year+"-"+month+"-"+day, this);
}

// reduce function
function doreduce(datestring, docs) {
    return {"date":datestring, "docs":docs};
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara menginstal NodeJS dengan MongoDB di Ubuntu

  2. Bagaimana melakukan pengujian database yang tepat (TDD) pada Rails 3 menggunakan MongoDB dan Mongoid

  3. MongoDB:Haruskah Anda tetap memberikan ID yang menautkan ke koleksi lain atau hanya menyertakan koleksi?

  4. cara menghapus array yang diajukan dengan nilai nol setelah tidak disetel di mongodb

  5. MongoDB :Hapus dua karakter terakhir dari String