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

Bagaimana cara melakukan pagination menggunakan kueri rentang di MongoDB?

Karena koleksi yang saya paging memiliki nilai duplikat, saya harus membuat indeks gabungan pada ProductName dan id.

Buat Indeks Gabungan

db.ProductGuideItem.ensureIndex({ ProductName:1, _id:1});

Ini memecahkan masalah saya.
Referensi:https://groups.google.com/d/msg/mongodb-user/3EZZIRJzW_A/oYH79npKZHkJ

Dengan asumsi Anda memiliki nilai-nilai ini:

{a:1, b:1}
{a:2, b:1}
{a:2, b:2}
{a:2, b:3}
{a:3, b:1}

Jadi, lakukan ini untuk pagination berbasis rentang (ukuran halaman 2):

Halaman Pertama

find().sort({a:1, b:1}).limit(2)
{a:1, b:1}
{a:2, b:1}

Halaman ke-2

find().min({a:2, b:1}).sort({a:1, b:1}).skip(1).limit(2)

{a:2, b:2}
{a:2, b:3}

Halaman ke-3

find().min({a:2, b:3}).sort({a:1, b:1}).skip(1).limit(2)
{a:3, b:1}

Berikut adalah dokumen untuk $min/max:http://www.mongodb.org/display/DOCS/min+and+max+Query+Specifiers

Jika Anda tidak memiliki nilai duplikat dalam koleksi Anda, Anda tidak perlu menggunakan min &max atau membuat indeks gabungan. Anda cukup menggunakan $lt &$gt.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Objek bersarang dalam skema luwak

  2. C# kueri mongo dengan string json

  3. Dapatkan bagian tertentu dari dokumen

  4. bagaimana saya bisa terhubung ke server mongo jarak jauh dari terminal Mac OS

  5. Hapus entri dari array menggunakan driver MongoDB-Java