Loading [MathJax]/jax/output/HTML-CSS/jax.js

转MongoDB 使用Skip和limit分页

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 关于MongoDB 数据分页和排序 limit,skip用户的一些基础语句,介绍MongoDB 数据分页和排序实例方法。 使用Skip和limit可以如下做数据分页: Code:    page1 = db.

关于MongoDB 数据分页和排序 limit,skip用户的一些基础语句,介绍MongoDB 数据分页和排序实例方法。

使用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顺序优化

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

    { $sort: { age : -1 } },

    { $skip: 10 },

    { $limit: 5 }

    那么实际执行的顺序为:

{ $sort: { age : -1 } },

    { $limit: 15 },

    { $skip: 10 }

    limitskip前面去执行。

    此时limit=skip+优化前$limit

    这样做的好处有两个: 

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

    2.limitsort紧邻limitsort的时候当得到前“$limit”个文档的时候就会停止。

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

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

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

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
监控 NoSQL 前端开发
|
9月前
|
NoSQL MongoDB 数据库
MongoDB 分页神器:limit() 和 skip() 方法详解
MongoDB 分页神器:limit() 和 skip() 方法详解
163 1
|
5月前
|
NoSQL Java MongoDB
MongoDB Limit 与 Skip 方法
10月更文挑战第16天
62 3
|
8月前
|
NoSQL 关系型数据库 MySQL
MongoDB优化分页
【7月更文挑战第5天】
109 0
|
10月前
|
NoSQL MongoDB
使用MongoTemplate 对 mongodb数据进行分组、排序、分页、连表查询
使用MongoTemplate 对 mongodb数据进行分组、排序、分页、连表查询
|
NoSQL MongoDB
18 MongoDB高级 - limitskip
18 MongoDB高级 - limitskip
66 0
|
NoSQL MongoDB
08 MongoDB - 数据查询(Limit 与 Skip)
08 MongoDB - 数据查询(Limit 与 Skip)
99 0
|
JSON NoSQL MongoDB
MongoDB(一)——增删改查,排序分页,索引,权限机制
数据库就是用来存放数据的仓库 关系型和非关系型数据库软件的项目数据 相同点:都是数据库软件,用来存放项目数据
470 0
MongoDB(一)——增删改查,排序分页,索引,权限机制
|
存储 JSON NoSQL
MongoDB基本操作(二)——排序、分页、聚合查询、优化索引等
MongoDB基本操作(二)——排序、分页、聚合查询、优化索引等
1544 0
|
NoSQL Java MongoDB
MongoDB Limit与Skip方法
MongoDB Limit与Skip方法
98 0