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

Apa cara terbaik untuk melakukan pagination ajax dengan MongoDb dan Nodejs?

Pendekatan "lewati dan batasi" tidak terlalu efisien saat Anda melakukan paging jauh ke dalam kumpulan data. Ini secara efektif merupakan algoritme Shlemiel the Painter.

Kueri rentang jauh lebih efisien (bila didukung oleh indeks). Misalnya, bayangkan Anda menampilkan tweet. Ukuran halaman Anda adalah 20 dan Anda berada di halaman 1000 dan ingin memuat halaman 1001.

Kueri ini

db.tweets.find().sort({created_at: -1}).skip(1001*20).limit(20)

adalah banyak kurang efisien dibandingkan

db.tweets.find({created_at: {$lt: last_displayed_date}}).
          sort({created_at: -1}).limit(20);

(asalkan Anda memiliki indeks di created_at ).

Anda mendapatkan ide:saat Anda memuat halaman, catat stempel waktu dari tweet terakhir dan gunakan untuk menanyakan halaman berikutnya.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Perbaiki "bujur/lintang di luar batas" di MongoDB saat Membuat Indeks 2dsphere

  2. MongoDB $pullAll

  3. Luwak selalu mengembalikan array kosong NodeJS

  4. Mongo Query dengan Regex di Node JS yang beroperasi PADA VARIABEL

  5. Bagaimana cara memeriksa apakah bidang array adalah bagian dari array lain di MongoDB?