MongoDB實現分頁(兩種方法)
1.插入實驗數據
偷懶用下samus,100條。
for (int i = 0; i < 100; i++) { Document doc = new Document(); doc["ID"] = i; doc["Msg"] = "value is "+ i; mongoCollection.Insert(doc); }
插入成功
2.分頁
方法一:通過sike()與limit()方法 如下圖,
通過 db.myCollection.find().sort({"ID":1}).skip(10).limit(10)命令,將其根據ID排序后,跳過10,查詢10條,結果為10-19條的數據。
這個類似于EF框架下的Skip()和Take()方法的操作。
方法二:獲取前一頁的最后一條記錄,查詢之后的指定條記錄 如下圖,
在tmp中存儲前面的10條記錄,latest中存儲前一頁的最后一條記錄(第9條),在接下去的查詢中,通過find后的參數,過濾去之前的記錄,獲取之后的10條記錄。
3.兩種方法的比較
方法一比較簡單,但skip方法效率較低,在數據量較多的情況下更推薦使用方法二,但可能會占用較多的內存空間。
來自:http://www.cnblogs.com/linhan/p/4248679.html
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!