位置: 编程技术 - 正文

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

  • 提足折旧是指
  • 个人将租用的商铺怎么办
  • 购入原材料计划成本
  • 销售材料的会计分录在实务第几章节
  • 应付股东现金股利通过什么核算
  • 新个税劳务费税率怎么算
  • 销售无形资产收款通过第三方平台能少交税吗
  • 个体户查账征收怎么交税?
  • 我国流转税主要包括
  • 企业年金的个人账户怎么查
  • 大米加工厂加工技术培训总结
  • 旧税号开出的发票能认证抵扣吗?
  • 营改增后房地产公司税种及税率
  • 季节工有工伤吗
  • 携税宝报税操作流程
  • 营改增房租增值税税率
  • 木制手链品种
  • 税种登记要带什么资料?
  • 转让无形资产税目征收营业税的是
  • 收到别公司利息怎么记账
  • 季度所得税弥补亏损
  • 拍短视频服务费怎么算
  • 路由器和光猫上的无线网络名称一样吗
  • 建筑公司可以开劳务吗
  • 程序员编程代码大全
  • 贷款房屋评估费怎么收
  • 期间费用在会计期末要转入
  • 长期病假解除劳动合同怎么赔偿
  • vue–router
  • 原生js实现promise.all
  • html5旅游网页设计
  • 老税号的发票还能认证吗
  • route命令的作用
  • Android AsyncTack 异步任务实例详解
  • php执行命令的函数
  • 上个月的发票未上传成功可以删除吗
  • 交税务局的工会经费现金流
  • 个人劳务所得年终汇算清缴
  • 交易性金融资产的账务处理
  • 存货都有什么科目
  • python 复选框怎么设置
  • 智能手机登陆信息怎么删除
  • mybatis的
  • "服务业"
  • sqlserver2005连接到服务器
  • sqlserver2005 master与msdb数据库备份恢复过程
  • 收到发票怎么写摘要
  • 销售折让怎么写分录
  • 小规模减免的附加税怎么做账
  • 当月没开发票
  • 企业会计准则下职工薪酬核算的困难与对策研究
  • 原材料保险公司赔偿会计分录怎么写
  • 结转成本按照销售收入来结转,税要怎么算
  • 企业以前年度亏损未弥补完
  • 讲课费需要提供发票吗
  • php连接mysql的步骤代码
  • sql存储过程实例
  • win102020年更新
  • 新手怎么装
  • u盘pe安装win7系统
  • xmpdisabled什么意思
  • Windows任务计划程序服务
  • win7系统的图片
  • centos简易安装
  • OpenGl的glMatrixMode()函数理解
  • 从零基础到入门
  • django框架mvt
  • jquery 写文件
  • android网络请求时怎么取消
  • win10下载杀毒软件
  • jquery如何解决跨域问题
  • js原生dialog
  • jquery替换div内容
  • python中else语句
  • javascript精度问题的原因
  • android studio 安装好后怎么在桌面找到
  • 中国个人所得税是多少?
  • 重庆国税电子税务局手机版
  • 国税网查发票真伪
  • 安徽马鞍山税务局体检名单
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设