MongoDB中做数据分页的语句是什么,怎样做排序
Admin 2022-11-17 群英技术资讯 505 次浏览
使用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中做数据分页的语句是什么,怎样做排序”的学习就结束了,希望能够解决大家的疑惑,另外大家动手实践也很重要,对大家加深理解和学习很有帮助。如果想要学习更多的相关知识,欢迎关注群英网络,小编每天都会给大家分享实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
配置mongodb服务器的步骤:1、在安装目录创建一个文件mongod.cfg在此文件进行配置。2、使用管理员权限打开一个cmd,输入安装命令。3、打开系统服务关闭正在运行的mongodb服务,开启mongodb服务。
mongodb查询不包含某个字符串的方法:使用“not:字符串”语句就可以筛选出该字段不包含某个字符串的集合。
使用MongoDB查询具体某一天的数据,可以使用语句db.集合名.find({con_date:new Date("xxx")}),其中双引号内为要查询的日期,格式为年、月、日。
mongodb定时索引是什么?怎么使用?有些刚接触mongodb数据库的朋友,可能对于定时索引不是很熟悉,因此这篇文章小编就给大家介绍一下mongodb定时索引。
在mongodb中可以使用mongoexport命令将数据库文件导出为JSON格式或CSV格式的文件,可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008