前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB数据分页与排序

MongoDB数据分页与排序

作者头像
字母哥博客
发布2020-09-23 11:18:03
2.1K0
发布2020-09-23 11:18:03
举报
文章被收录于专栏:写字母的代码哥

Mongodb数据分页与排序

代码语言:javascript
复制
db.books.insert([{"title" : "PHP 教程" },
{"title" : "Java 教程"},
{"title" : "MongoDB 教程"},
{"title" : "C 教程"},
{"title" : "C++ 教程"},
{"title" : "oracle 教程"}])

分页排序相关api

  • count:统计总数,效率较低 db.books.find().count();
  • limit:限制单页数据量 db.books.find().limit(2);
  • skip:跳过n条数据,效率较低 db.books.find().limit(2).skip(2); db.books.find().skip(2).limit(2);
  • sort:排序(1:升序,-1:降序) db.books.find().limit(2).skip(2).sort({title:1}); 函数顺序:先排序sort,再skip,最后limit

mongodb分页排序方案

方案一:limit,skip,sort。

首先:count()总数 第一页:db.books.find().limit(3); 第二页:db.books.find().limit(3).skip(3);

方案二:

首先:count()总数 第一页:db.books.find().limit(3); 第二页:db.books.find({_id: {$gt: <第一页的最后一个 ID>}}).limit(3).sort({_id: 1}); id是有顺序的,而且不重复。(id+增量)

方案三:

固定限制只显示10页,每页50条,这样避免了count(),skip效率不会太低。

  • 分析: 方案一性能最差,count和skip一个也没避开。可以跨页翻页,完整性较好。 方案二性能适中,避开了skip。但数据翻页不能跨页翻页。按顺序翻页 方案三性能最好,但是数据完整性较差。 通常情况下,用户不会要求在web端完整的显示大数据,可以做出合理的解释。所以通常选择第三种。

喜欢 (1)or分享 (0)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-02-12),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Mongodb数据分页与排序
    • 分页排序相关api
      • mongodb分页排序方案
        • 方案一:limit,skip,sort。
        • 方案二:
        • 方案三:
    相关产品与服务
    云数据库 MongoDB
    腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档