濮阳杆衣贸易有限公司

主頁 > 知識庫 > MongoDB 使用Skip和limit分頁

MongoDB 使用Skip和limit分頁

熱門標(biāo)簽:智能電銷機(jī)器人銷售話術(shù) 企業(yè)智能外呼系統(tǒng)價格多少 高德地圖標(biāo)注商戶位置 南京400電話怎樣辦理 福州電銷機(jī)器人源代碼 徐州ai電銷機(jī)器人原理 沈陽營銷電銷機(jī)器人招商 機(jī)器人外呼系統(tǒng)軟件存在問題 兗州電話外呼營銷系統(tǒng)

使用Skip和limit可以如下做數(shù)據(jù)分頁:

Code:

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

  備注:可用于分頁,limit是pageSize,skip是第n-1頁*pageSize (n-1表示幾  第1,2...頁)      skip表示跳過  多少條數(shù)據(jù),   聚合管道的優(yōu)化
     1.$sort  +  $skip  +  $limit順序優(yōu)化

    如果在執(zhí)行管道聚合時,如果$sort、$skip、$limit依次出現(xiàn)的話,例如:

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

    那么實(shí)際執(zhí)行的順序?yàn)椋?/p>

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

    $limit會提前到$skip前面去執(zhí)行。

    此時$limit = 優(yōu)化前$skip+優(yōu)化前$limit

    這樣做的好處有兩個:

    1.在經(jīng)過$limit管道后,管道內(nèi)的文檔數(shù)量個數(shù)會“提前”減小,這樣會節(jié)省內(nèi)存,提高內(nèi)存利用效率。

    2.$limit提前后,$sort緊鄰$limit這樣的話,當(dāng)進(jìn)行$sort的時候當(dāng)?shù)玫角啊?limit”個文檔的時候就會停止。

    當(dāng)數(shù)據(jù)量很小時,這樣做分頁完全沒有問題。但是當(dāng)數(shù)據(jù)量很大時,skip操作會變的很慢,應(yīng)該避免使用?! ?/p>

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

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

您可能感興趣的文章:
  • MongoDB 中Limit與Skip的使用方法詳解
  • MongoDB中方法limit和skip的使用

標(biāo)簽:大理 丹東 邯鄲 景德鎮(zhèn) 鶴崗 吉安 本溪 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB 使用Skip和limit分頁》,本文關(guān)鍵詞  MongoDB,使用,Skip,和,limit,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MongoDB 使用Skip和limit分頁》相關(guān)的同類信息!
  • 本頁收集關(guān)于MongoDB 使用Skip和limit分頁的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    泰宁县| 松滋市| 本溪| 山东| 迭部县| 永宁县| 兴文县| 崇州市| 龙岩市| 孝义市| 正安县| 仙居县| 鄂尔多斯市| 蚌埠市| 齐河县| 平南县| 三河市| 上虞市| 新乡县| 澄江县| 嘉峪关市| 翁源县| 泸西县| 阿克苏市| 共和县| 旬阳县| 萨迦县| 简阳市| 县级市| 阿拉善左旗| 庄河市| 青州市| 邢台市| 息烽县| 克山县| 横山县| 安徽省| 长白| 文安县| 宝山区| 当阳市|