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

Mongodb:Dapatkan dokumen yang diurutkan berdasarkan peringkat dinamis

Saya baru mengenal Mongodb dan kerangka kerja agregasi tetapi mempertimbangkan jawabannya Tim B memberi saya datang dengan ini:

db.coll.aggregate(
      { $project : {
                     "ranking" : { 
                                  "$divide" : ["$score", {"$subtract":[new Date(), "$updated"]}]
                                 }
                   }
      },
      { $sort : {"ranking" : 1}})

Menggunakan $project Anda dapat membentuk kembali dokumen untuk memasukkan nilai yang telah dihitung sebelumnya, dalam kasus Anda bidang peringkat. Setelah itu gunakan $sort Anda dapat mengurutkan dokumen berdasarkan peringkat dalam urutan yang Anda suka dengan menentukan 1 untuk menaik atau -1 untuk turun.

Saya minta maaf atas pemformatan kode yang buruk, saya mencoba membuatnya semudah mungkin dibaca.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Merencanakan &Mengelola Skema di MongoDB (Meskipun Tanpa Skema)

  2. MapReduce menggunakan MongoDB Java Driver gagal dengan tipe yang salah untuk pernyataan BSONElement

  3. Desain Skema database Mongodb dengan data bersama

  4. luwak menegakkan atribut unik pada properti subdokumen

  5. Bagaimana cara menghitung total lari menggunakan agregat?