位置: 编程技术 - 正文

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

  • 增值税发票勾选确认后可以撤销吗
  • 无形资产摊销完后有余额吗
  • 收购发票加计扣除
  • 留存收益资本成本率计算公式
  • 管理部门社保入哪个科目
  • 暂估库存商品比发票少1分怎么记账
  • 销售费用包括哪些二级科目
  • 记账凭证摘要的重要性
  • 收到国家退税
  • 固定资产清理科目怎么结转
  • 企业留存收益包括盈余公积和未分配利润
  • 税收和征税
  • 补缴企业所得税滞纳金账务处理
  • 案例分析互联网巨头的战略计划
  • 关于油票的纳税人识别号
  • 购货折让
  • 物流行业主营业务成本会计分录
  • 企业所得税退税会计分录
  • 企业所得税汇算清缴退税账务处理
  • 雇主全额负担的法律责任
  • 营业成本包括哪些会计科目
  • 企业所得税分期收款确认收入的时间政策
  • w10系统程序停止运行
  • win11不兼容
  • 加计抵减政策销售额占比怎么算
  • windows 11预览版
  • linux怎么设置读写权限
  • 在php中,字符串有哪些表示形式
  • 企业存货成本包括利润吗
  • koc文件用什么软件打开
  • 十分钟带你了解阿氏圆
  • php copy函数
  • 记账凭证按其用途
  • 合伙养殖需要注意什么
  • 详解php实现页面跳转
  • zend framework手册
  • ci框架如何做api
  • python的复制命令
  • h5移动端网页设计
  • python获取字符串中汉字的个数
  • 认证后失控发票管理办法
  • python 多线程处理
  • 帝国cms移动端
  • 企业减少注册资本
  • 小规模纳税人指的是谁
  • 红冲上月发票都附什么附件
  • 企业购买了数千亿资产
  • 职工福利基金提取流程
  • 外贸公司是不是什么都做的?
  • 员工迟到扣款如何做账
  • 外商投资企业清算资金汇出环节,银行
  • 健身房健身器材采购清单
  • 销售费用进项税抵扣
  • 怎样算小公司
  • 外账会计做什么
  • 新手会计建账的资料在哪里弄
  • 主键自增长的数据如何导入
  • mysql怎么删除一定数量的记录
  • xp系统如何清理缓存
  • ubuntu系统怎么更新
  • centos怎么配置ssh
  • win8系统设置在哪里
  • 标签windows
  • centos7修改文件内容
  • win10 rs1是什么版本
  • win8锁定屏幕
  • linux字符串命令
  • 分享一下什么
  • python上传文件到网站
  • python如何用
  • Node.js中的全局对象有
  • shell脚本的实现
  • 第一个javascript程序
  • 用javascript
  • android客户端与服务器通信
  • javascript面向对象编程指南第三版
  • 新一轮税制改革的意义
  • 国税电子税务局官网
  • 专票增额怎么办手续
  • 深入开展税务文化
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设