翻頁是採用limit 加上find 第一頁的最後一條的_id 來取出第二頁的內容
但是就算把索引都載入記憶體後 翻過兩千萬文檔後每次翻頁都耗時十秒以上
請問還有什麼翻頁快速的方法麼
拜謝 感激不盡
世界只因有你2017-05-02 09:19:50
先取得目前頁面的第一個id,然後用下面這個取得下一頁的所有資料:
db.collection.find({_id: {$gt: current_id}}).
skip(page_size).
limit(page_size).
sort({_id: 1});
我在有600多萬個資料中,利用這個方法,都是非常快的。
如果你是這樣的,還要十秒以上,可能是你的查詢條件沒有加索引。
用skip
加limit
可以翻頁