主页 > 知识库 > MongoDB 使用Skip和limit分页

MongoDB 使用Skip和limit分页

热门标签:智能电销机器人销售话术 企业智能外呼系统价格多少 高德地图标注商户位置 南京400电话怎样办理 福州电销机器人源代码 徐州ai电销机器人原理 沈阳营销电销机器人招商 机器人外呼系统软件存在问题 兖州电话外呼营销系统

使用Skip和limit可以如下做数据分页:

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表示跳过  多少条数据,   聚合管道的优化
     1.$sort  +  $skip  +  $limit顺序优化

    如果在执行管道聚合时,如果$sort、$skip、$limit依次出现的话,例如:

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

    那么实际执行的顺序为:

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

    $limit会提前到$skip前面去执行。

    此时$limit = 优化前$skip+优化前$limit

    这样做的好处有两个:

    1.在经过$limit管道后,管道内的文档数量个数会“提前”减小,这样会节省内存,提高内存利用效率。

    2.$limit提前后,$sort紧邻$limit这样的话,当进行$sort的时候当得到前“$limit”个文档的时候就会停止。

    当数据量很小时,这样做分页完全没有问题。但是当数据量很大时,skip操作会变的很慢,应该避免使用。  

(不止是mongoDb会这样,大部分数据库都是。)可以通过改变查询文档的规则来达到分页效果,避免使用skip来跳过大量的数据。

(通过计算,得到下次查询应该从什么地方开始)

您可能感兴趣的文章:
  • MongoDB 中Limit与Skip的使用方法详解
  • MongoDB中方法limit和skip的使用

标签:大理 丹东 邯郸 景德镇 鹤岗 吉安 本溪 昭通

巨人网络通讯声明:本文标题《MongoDB 使用Skip和limit分页》,本文关键词  MongoDB,使用,Skip,和,limit,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《MongoDB 使用Skip和limit分页》相关的同类信息!
  • 本页收集关于MongoDB 使用Skip和limit分页的相关信息资讯供网民参考!
  • 推荐文章