a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > MongoDB > 正文

MongoDB 使用Skip和limit分頁

2020-03-14 13:24:59
字體:
來源:轉載
供稿:網友

本文章先來給大家簡單介紹關于MongoDB 數據分頁和排序 limit,skip用戶的一些基礎語句,然后用一個實例詳細介紹MongoDB 數據分頁和排序實例方法。

使用Skip和limit可以如下做數據分頁:

Code:

 

 
  1. page1 = db.things.find().limit(20) 
  2. page2 = db.things.find().skip(20).limit(20) 
  3. page3 = db.things.find().skip(40).limit(20)  

備注:可用于分頁,limit是pageSize,skip是第n-1頁*pageSize (n-1表示幾 第1,2...頁)     skip表示跳過 多少條數據,   聚合管道的優化

1.$sort + $skip + $limit順序優化

如果在執行管道聚合時,如果$sort、$skip、$limit依次出現的話,例如:

 

 
  1. { $sort: { age : -1 } }, 
  2. { $skip: 10 }, 
  3. { $limit: 5 } 

那么實際執行的順序為:

 

 
  1. { $sort: { age : -1 } }, 
  2.     { $limit: 15 }, 
  3.     { $skip: 10 } 

$limit會提前到$skip前面去執行。

此時$limit = 優化前$skip+優化前$limit

這樣做的好處有兩個:

1.在經過$limit管道后,管道內的文檔數量個數會“提前”減小,這樣會節省內存,提高內存利用效率。

2.$limit提前后,$sort緊鄰$limit這樣的話,當進行$sort的時候當得到前“$limit”個文檔的時候就會停止。

當數據量很小時,這樣做分頁完全沒有問題。但是當數據量很大時,skip操作會變的很慢,應該避免使用。

(不止是mongoDb會這樣,大部分數據庫都是。)可以通過改變查詢文檔的規則來達到分頁效果,避免使用skip來跳過大量的數據。

(通過計算,得到下次查詢應該從什么地方開始)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品久久久久久久9999 | 久久99精品国产麻豆婷婷洗澡 | 国产精品视频免费观看 | 国产精品一区网站 | 青青草免费在线视频 | 日韩第一区 | 天堂av中文在线 | 久久99精品国产麻豆婷婷洗澡 | 一区免费 | 国产精品电影久久 | vagaa欧洲色爽免影院 | 欧美久久久久久 | 久久大陆 | 香蕉一区 | 日韩成人黄色 | 国产传媒在线视频 | 久久精品黄色 | 在线日韩 | 欧美日韩视频一区二区三区 | 中文成人无字幕乱码精品 | 欧美一区在线看 | 久久这里只有精品首页 | 秋霞成人| 91高清视频 | 99热在线国产 | 日韩中文字幕在线观看 | 91精品视频在线 | 成年无码av片在线 | 亚洲精品无 | 91福利在线导航 | 国产韩国精品一区二区三区 | 亚洲免费一区二区 | 日韩亚洲视频在线观看 | 91麻豆精品国产91久久久更新时间 | 免费日本视频 | 亚洲精品一区二区网址 | 精品成人| 国产乡下妇女做爰视频 | 噜噜av| 天天草av| 另类天堂|