MongoDB 使用Skip和limit分页


使用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来跳过大量的数据。

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



相关阅读:
C#操作读取、写入XML文档的实用方法
在页面中js获取光标/鼠标的坐标及光标的像素坐标
JS实现合并两个数组并去除重复项只留一个的方法
Android中实现布局背景模糊化处理的方法
仅30行代码实现Javascript中的MVC
JS小功能(button选择颜色)简单实例
MySQL中的CONCAT函数使用教程
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
IOS入门笔记之地理位置定位系统
jQuery中animate动画第二次点击事件没反应
wordpress自定义url参数实现路由功能的代码示例
C++实现打印1到最大的n位数
Win8系统怎么重装IE浏览器?Win8重装IE图文教程
gulp-htmlmin压缩html的gulp插件实例代码
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 讷河-讷尔克气 沧州-抚宁 陇西-沭阳 青田-凯里 扶余北-辽阳 容桂-顺德学院 月山-临颍 宣化-集宁南 九江-杭州东 邢台东-虎门 嘉善南-南京 漳州-武乡 大安北-长春 芜湖-静海 太姥山-余姚北 兖州-哈尔滨西 陶赖昭-五棵树 武昌-乐都 潍坊-江油 醴陵-丹阳 深圳西-赣州 俞冲-苍坪 下板城-草河口 淮南东-池州 镇江-达州 桐梓-玉山 枝城-宜昌东 广元-襄阳东 七苏木-宝木吐 兴城-刘家河 肇庆-岳阳 卫辉-徽县 镇江南-砀山南 五龙背东-杏树屯 疏勒河-天祝 辛集-海安县 永修-建宁县北 民权北-潍坊 二井-潮水 福州南-弋阳 双城北-齐齐哈尔南 镇安-华山 兰州-东安东 三明北-仙游 昌乐-济南 介休-孝西 陆川-茂名 淮南东-绍兴北 沙坨子-赤峰 铁岭-达拉滨 邹城-兴城 中山-深圳北 广水-新化 宁陵县-梁山 宜春-天津 水富-镇远 达州-清河城 聊城-武夷山 潮阳-临海 赤峰-庙宫 上普雄-枣子林 昌图-大板 镇江-于都 昆明-羊者窝 江油-徽县 图们-梅河口 松江河-桥头 义乌-兴义 佳木斯-双鸭山 荣成-桃村北 全州南-邢台东 通辽-沟帮子 武威南-潼关 巴东-石门县北 上店-道德 丽水-福州南 商都-查布嘎 商都-乌鲁木齐南 兖州-无锡 鸡东-治山 2009年8月18号从昆明到罗平的火车有哪几趟
泸州到海口的飞机票价多少列车票价又是多少
从长沙到深圳快递一台电脑主机需要多少时间
谁知道T312次火车
光谷步行街到木兰山怎么走
在云南瑞丽做什么生意好?高分悬赏
到滨州海洋局工作 还是到济南的一个二本大学当老师好
广东到北京西站的火车列车有直达的吗回答给你加分
请问从鹰潭坐火车列车到福州或温州,哪个价格比较高?
从桂林到广州坐客车汽车需要多久
从杭州出发到桐庐巴比松米勒庄园自己坐车怎么去
从潍坊市内做78路到央子汽车站,是不是在做7路或8路就可以到
我要李白的资料
请问从北京到山西五台山自驾车应该走什么线路?谢谢
从广州市荔湾中学到广州市第四中学初中部公交路线怎么走
从烟台招远到大连游玩,跟团还是自助游好招远比较好的旅行
从长春到西宁要是托运行李的话大概的票价多少钱
从湖南常德到山东烟台需要几天?
延庆,怀柔有哪些好玩的地方?
石家庄市汽车站有去江苏省苏州吴江的汽车吗
义乌到乐清 汽车_义乌到乐清 汽车
宿迁去上海客车汽车票多少钱,大概多少时间
洛阳到石家庄的K126/K127的火车列车票好买么(急)
从石家庄骑晋州骑自行车到天津南开区怎么坐车近
从吉林四平往内蒙古鄂尔多斯的信多久能到
从芜湖开车到柳州捷径
本人工作地点在武汉,现工作需要出差至十堰、襄樊、荆州,麻...
北京到秦皇岛坐列车火车 最快的多久能到
请问安康南门市场直到列车火车站的公交早上几点走,是几路的公交
请问从小武基到北京火车列车站乘公交车怎么走?

Copyright © 2016 phpStudy |