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

Kelompokkan dokumen Mongo berdasarkan id dan dapatkan dokumen terbaru dengan stempel waktu

Jika Anda melakukan dan agregasi, Anda perlu melakukan yang serupa dengan SQL , yang berarti menentukan operasi agregasi per kolom, satu-satunya opsi yang Anda miliki adalah menggunakan $$ROOT operator

db.test.aggregate(
   [
    { $sort: { timestamp: 1 } },
     {
       $group:
         {
           _id: "$fooId",
           timestamp: { $last: "$$ROOT" }
         }
     }
   ]
);

Tapi itu akan sedikit mengubah output

{ "_id" : "1", "timestamp" : { "_id" : ObjectId("570e6be3e81c8b195818e7fa"), 
  "fooId" : "1", "status" : "A", "timestamp" :ISODate("2016-01-01T00:00:00Z"), 
  "otherInfo" : "BAR" } }

Jika Anda ingin mengembalikan format dokumen asli, Anda mungkin memerlukan tahap $project setelah itu



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb ditemukan oleh beberapa item array

  2. Bagaimana cara menonaktifkan logging driver java mongoDB?

  3. Dapatkan dan Tambah/Perbarui dokumen MongoDB tertanam/bersarang bertingkat menggunakan C#

  4. Mengisi hanya bidang tertentu di luwak

  5. Praktik terbaik untuk mempertahankan sesi mgo