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

Temukan postingan terbaru &terdekat, batasi 20

Saya kira Anda akhirnya berakhir dengan daftar posting yang memiliki dua dimensi peringkat terpisah, yaitu:

{ age: 86400, distance: 1000 }
{ age: 172800, distance: 5000 }
{ age: 57600, distance: 20000 }
{ age: 288000, distance: 8000 }

Tidak masalah apa satuannya, katakanlah detik dan meter. Jika Anda ingin keduanya memengaruhi peringkat penyortiran, maka Anda akan mendapatkan algoritme peringkat, paling sederhana seperti ini:

rank = (C1 * age) + (C2 * distance)

Dimana C1 dan C2 adalah konstanta yang dapat Anda atur untuk menyesuaikan bobot. Nilainya akan bergantung pada unit apa yang Anda gunakan, dan seberapa besar pengaruh peringkat yang Anda tetapkan untuk setiap dimensi.

Pilihan lain bisa dipesan terlebih dahulu berdasarkan agregat waktu lalu jarak, jadi semua pos mulai hari ini diurutkan berdasarkan jarak; diikuti dengan yang kemarin diurutkan berdasarkan jarak, dan seterusnya. Atau sebaliknya, diurutkan berdasarkan rentang jarak, lalu usia, jadi semuanya dalam (0 - 1000m) diurutkan berdasarkan usia; diikuti oleh semua dalam (1001 - 2000m), dan seterusnya.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB vs MySQL NoSQL - Mengapa Mongo Lebih Baik

  2. Spring Data Mongo Query untuk melakukan query dengan beberapa bidang dan kembali dalam satu panggilan

  3. Bagaimana cara membuat Dokumen Bson dengan nilai Null menggunakan driver resmi C #?

  4. Dorong elemen ke array di luwak

  5. MongoDb:Bagaimana cara mengimpor data dump dari file .gz?