位置: 编程技术 - 正文

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进阶与实战下载)

  • 税后经营净利润怎么求
  • 一般纳税人哪些可以开3%的发票吗
  • 计提工会经费的科目
  • 股东权益是资产吗
  • 企业辅助生产车间
  • 在企业所得税中增值税可以扣除吗
  • 营改增后无形资产的出租和出售都属于增值税纳税范围
  • 逾期抵扣办理申请书模板
  • 资产减值损失转回的账务处理
  • 建筑预缴税款后如何进行账务处理?
  • 房产公司办公室布局
  • 已经入库的商品出库了要怎么做会计分录
  • 物业公司收取电费加价依据
  • 可以给农村信用社的存折转账吗
  • 未达起征点纳税申报表怎么填
  • 联营企业分回的利润交企业所得税吗
  • 我的初级备考经验怎么写
  • 股东以资产入股公司
  • 城建附加减半征收文件
  • 税务局备案的企业是什么
  • 预付款和进度款支付有冲突吗
  • 技嘉主板bios更新后无法开机
  • win10系统如何卸载ie11
  • 小企业会计准则和一般企业会计准则的区别
  • php两个多维数组合在一起
  • runservice.exe - runservice是什么进程 有什么用
  • 其他应付款期初余额在哪方
  • PHP:iconv_get_encoding()的用法_iconv函数
  • 固定资产明细账登记
  • php数据库编程
  • 倾向得分匹配后怎么进行回归
  • 帝国cms怎么加自己的名字
  • 厂房没租出去要交税吗
  • 一件代发退货如何处理
  • 结转清理损失会计分录
  • 其他业务成本如何结转
  • python如何提取文件中的数据
  • sqlserver sid
  • SQL SERVER使用的是( )逻辑模型
  • sql动态执行
  • Win2003系统下SQL Server 2008安装图解教程(详细图解)
  • 清空表sql语句
  • 包装就是包装物
  • 广告赞助支出可以抵税吗
  • 销售货物提供运输服务分录
  • 在建工程转出到什么科目
  • 经营费用属于什么类科目
  • 买车能不交税吗
  • 工程类企业存货包括哪些
  • 子公司的取得方式
  • 存货科目包括哪几类
  • 事假 扣工资
  • 隔离模块与隔离模块如何连接?
  • sql判断是否存在记录
  • 苹果电脑dock栏是什么意思
  • ubuntu 16.10
  • 系统没有wmi服务选项
  • windows7不能使用的文件名
  • 强制关闭mac系统的快捷键
  • windows8.1关机
  • 为什么无法退出
  • js获取url的html
  • android面试题简书
  • Android游戏开发书籍
  • OpenGL Framebuffer Object (FBO)
  • express的中间件
  • 使用脚本什么意思
  • jQuery EasyUI API 中文帮助文档和扩展实例
  • python电话本
  • javascript post语法
  • 河北省国家税务局电子税务局登录
  • 四川税局官网发票
  • 税务询问笔录属于什么证据
  • 航天金税开票软件服务费可以抵扣税款吗
  • 济宁税务大厅上班时间
  • 担保机构和银行的区别
  • 深圳税务局怎么添加办税员
  • 沙子属于矿产资源
  • 年税怎么扣
  • 增值税发票清单怎么打印出来
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设