Sama seperti ini, Baidu menemui sejumlah XXXXXX hasil carian berkaitan untuk anda.
Mengambil XXXX milisaat.
Bagaimana ini dicapai.
Kira semua item dahulu dan kemudian bahagikannya kepada muka surat?
Pertama, kira = db.table.find().count();
Kemudian, db.table.find().skip().limit();
Adakah ini yang berlaku?
Selain itu, XXX milisaat dikira secara keseluruhan atau dalam paging. . .
Penyelesaian.
Ia bergantung pada saiz data anda Jika jumlah data tidak besar, anda boleh terus menghantar semua data ke bahagian hadapan untuk paging. Kelebihannya ialah tidak perlu memuat semula halaman untuk menghantar permintaan kemas kini, dan perubahan halaman boleh dicapai dengan mengemas kini status halaman secara terus. Walau bagaimanapun, jika ia adalah pemprosesan data besar seperti Baidu dan Google, anda perlu mengisytiharkan parameter semasa menghantar permintaan dan anda perlu mengisytiharkan titik permulaan carian data dan jumlah data, supaya membelok halaman adalah perkara yang berasingan permintaan data. Mongo boleh terus menggunakan db.table.count() untuk mendapatkan bilangan koleksi. Bagi masa carian, jika saya diminta untuk melakukannya, saya akan mengira masa dari menghantar permintaan untuk mendapatkan respons di bahagian hadapan saya juga boleh mengira masa yang diperlukan untuk carian pangkalan data di bahagian belakang Tidak fikir fungsi ini penting.