Paging Cekap dalam MongoDB menggunakan mgo.v2
Pemacu mgo.v2 MongoDB menyediakan sokongan terbina dalam untuk halaman melalui hasil pertanyaan menggunakan Query. Langkau() dan Query.Limit(). Walau bagaimanapun, kaedah ini menjadi tidak cekap untuk set hasil yang besar apabila MongoDB melayari semua dokumen untuk melangkau nombor yang ditentukan.
Untuk mencapai paging yang cekap, ciri cursor.min() MongoDB boleh digunakan. Dengan memberikan nilai kursor, MongoDB boleh terus melompat ke entri indeks yang ditentukan untuk penyenaraian hasil. Malangnya, mgo.v2 tidak mempunyai sokongan langsung untuk cursor.min().
Penyelesaian Menggunakan Pangkalan Data.Run()
Sebaliknya, kita boleh menggunakan Pangkalan Data.Run( ) kaedah untuk melaksanakan perintah MongoDB, termasuk arahan find yang menyokong cursor.min(). Perintah itu boleh dibina secara manual menggunakan bson.D dan menangkap hasilnya dalam struct tersuai.
Menggunakan MinQuery
Proses boleh dipermudahkan menggunakan github.com/ pakej icza/minquery. MinQuery menyediakan pembalut yang memudahkan konfigurasi dan pelaksanaan perintah cari MongoDB dengan sokongan cursor.min().
Pelaksanaan
Pelaksanaan melibatkan:
Faedah Menggunakan minquery
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Paging yang Cekap dalam MongoDB dengan mgo.v2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!