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

MongoDB - dapatkan dokumen dengan atribut maksimal per grup dalam koleksi

Agregasi MongoDB menawarkan $max operator, tetapi dalam kasus Anda, Anda ingin catatan "keseluruhan" apa adanya. Jadi hal yang tepat untuk dilakukan di sini adalah $sort lalu gunakan $first operator dalam $group pernyataan:

db.collection.aggregate([
    { "$sort": { "session": 1, "age": -1 } },
    { "$group": {
        "_id": "$session",
        "age": { "$first": "$age" },
        "firstName": { "$first" "$firstName" },
        "lastName": { "$first": "$lastName" }
    }}
])

Jadi "penyortiran" mendapatkan urutan yang benar, dan "pengelompokan" memilih kemunculan pertama di dalam kunci "pengelompokan" di mana bidang-bidang itu ada.

Kebanyakan $first di sini karena $sort dilakukan dalam urutan terbalik. Anda juga dapat menggunakan $last ketika dalam urutan menaik juga.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana ClusterControl Melakukan Pemulihan dan Kegagalan Basis Data Otomatis

  2. Cara Mudah Mengelola Pembaruan Basis Data dan Patch Keamanan

  3. Ganti nama Bidang dalam Koleksi MongoDB

  4. Pengantar Data Musim Semi MongoDB

  5. Ekspor hasil kerangka kerja agregasi mongodb ke koleksi baru