位置: 编程技术 - 正文

mongoDB实现分页的方法(mongodb如何分片)

编辑:rootadmin

推荐整理分享mongoDB实现分页的方法(mongodb如何分片),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mongotemplate 分页查询,mongo 分页查询,mongodb分页查询count太慢,mongodb如何分片,mongotemplate 分页查询,mongodb 分页,mongo 分页查询,mongodb分页查询语句,内容如对您有帮助,希望把文章链接给更多的朋友!

mongoDB的分页查询是通过limit(),skip(),sort()这三个函数组合进行分页查询的。

下面这个是我的测试数据

db.test.find().sort({"age":1});

第一种方法

查询第一页的数据:db.test.find().sort({"age":1}).limit(2);

查询第二页的数据:db.test.find().sort({"age":1}).skip(2).limit(2);

查询其他页数以此类推。。。

第二种方法

查询第一页的数据:db.test.find().sort({"age":1}).limit(2);

跟上面的第一种方法一样的。

查询第二页的数据:

这个是获取第一页最后一条记录的值,然后排除前面的记录,就能获取到新的记录了

总结来说,如果数据量不是很大的话,可以使用第一种方法,毕竟比较简单,如果数据量比较大的话,使用第二种方法比较好,因为这样就可以不用到skip()这个函数,skip跳过太多的记录,效率有点低

经过认真的考虑,第二种方法确实不适合跳页,而且效率也不是很高

mongoDB实现分页的方法(mongodb如何分片)

对于海量数据的话,我们要做些特殊的处理,

有以下2种方法

第一种方法

限制分页的页数,类似百度的百度的分页处理,只是显示前面的七百多条记录,这样的就不用考虑性能的问题了,毕竟一般人都只是翻到前面十页,就找到自己需要的了

后面的统计结果应该是估算出来的,根据查出来的这些记录所占的比例估算出总的记录数

第二种方法

我们可以这样做,假设是根据id排序的,我们可以id跟id所在的页数的序号存到redis/MemberCached中,

就像这样,假设每一页有条记录

id page

1 1

2 1

。。。

1

2

2

。。。。

2

这样我们查第一页的时候就能直接取出十条数据

假设有1亿条数据,一条记录id占4个字节,其他信息的占一个字节,一条记录就占5个字节

1 *5/(*)=MB

这种做法使用空间换时间,一般数据库查询的时间大多花在跟数据库的连接上,放在缓存中,可以大大加快查询的速度

标签: mongodb如何分片

本文链接地址:https://www.jiuchutong.com/biancheng/312642.html 转载请保留说明!

上一篇:mongoDB 多重数组查询(AngularJS绑定显示 nodejs)(mongodb 分组计数)

下一篇:MongoDB进阶之动态字段设计详解(mongodb进阶与实战下载)

  • 劳务报酬个人所得税税率表
  • 企业被环保关停政府赔偿
  • 专票没有抵扣联可以作废吗
  • 发票右上角打印缺数字
  • 税务在哪查询
  • 房产交易如何避免个税
  • 公司活动发言稿范文
  • 企业报税盘入账应该记入哪个科目?
  • 企业哪些费用属于重要费用
  • 营改增成功案例
  • 税控盘怎么作废发票重新开
  • 收银员现金管理流程
  • 付款时收到应收票据会计分录怎么做?
  • 从农民手里收的钱叫什么
  • 销售净利率怎么求
  • 支付宝手续费怎么关闭
  • 其他资本公积增加会计处理方法
  • 间接补贴主要包括
  • 事业基金的主要账务处理
  • linux使用docker
  • php实现简单数字变量
  • 0x0000000a蓝屏代码怎么解决
  • 个人开工程款票在哪开票
  • 商贸企业小规模转一般纳税人条件
  • 存货的核算方法
  • csinsmnt.exe进程的作用介绍 csinsmnt是什么进程
  • 配置nginx支持php
  • 淘宝前端用什么写的
  • devtools安装mac
  • 金蝶数量金额怎么输入
  • 注册资金抽回
  • 垃圾分类手工小模型
  • ai线型工具介绍
  • 安卓京东抢购
  • 探望生病职工的话语
  • 采购发票生成的会计凭证
  • ps中如何使用切片工具
  • sqlserver使用awe分配内存
  • 服装加工税率是13%还是16%
  • 高新企业奖励怎么领取
  • 税务申报残保金
  • 公司之间往来款需要交税吗
  • 公司注册地址变更有什么影响
  • 房地产企业政府返还款
  • 企业缴纳个人所得税客户端
  • 预期损失el
  • 土地增值税应纳税额
  • 什么单位需要
  • 典当业销售的死当物品是什么意思
  • 混凝土增值税发票税率
  • 劳务派遣的工资是谁发的
  • 印花税税率是多少
  • 工资计提数小于发放数,如何处理
  • 印花税计提依据业务发生时间还是开票时间?
  • 无发票的费用怎么算
  • 公司变更地址后需要做哪些事情
  • 什么叫归集和分配
  • unix du
  • WIN8系统安装教程
  • Linux Container(LXC容器)的基本命令使用简介
  • 怎么u盘装系统win10
  • ksysslim.exe
  • 操作系统运行慢怎么解决
  • win7系统鼠标右键无法弹出菜单
  • windows8.1如何安装
  • [置顶] 此外,车牌号:458143(懂得都懂[吃瓜])
  • unity总结
  • jquery判断div是否显示
  • opengl api version
  • linux shell终端
  • linux安装oracle数据库步骤
  • flask使用celery
  • unity3d 画线
  • unity 静态函数
  • 2020 unity
  • 基于python的系统
  • jquery入口
  • 比利时个人所得税税率
  • 上饶税务局电话号码
  • 昱铭这个公司名字怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设