这次继续看mongodb中的分页。首先依然是插入数据:


1)
db.Blog.insert( { name : "Denis", age : 20, city : "Princeton" } )
db.Blog.insert( { name : "Abe", age : 30, city : "Amsterdam" } )
db.Blog.insert( { name : "John", age : 40, city : "New York" } )
db.Blog.insert( { name : "Xavier", age : 10, city : "Barcelona" } )
db.Blog.insert( { name : "Zen", age : 50, city : "Kyoto" } )

2) 查询下
db.Blog.find()
结果为:
{ "_id" : ObjectId("51028ae0a8c33b71ed76a807"), "name" : "Denis", "age" : 20, "city" : "Princeton" }
{ "_id" : ObjectId("51028ae0a8c33b71ed76a808"), "name" : "Abe", "age" : 30, "city" : "Amsterdam" }
{ "_id" : ObjectId("51028ae2a8c33b71ed76a809"), "name" : "John", "age" : 40, "city" : "New York" }
{ "_id" : ObjectId("51028ae2a8c33b71ed76a80a"), "name" : "Xavier", "age" : 10, "city" : "Barcelona" }
{ "_id" : ObjectId("51028ae4a8c33b71ed76a80b"), "name" : "Zen", "age" : 50, "city" : "Kyoto" }

3)每次只显示2条,使用limit就可以了
db.Blog.find().limit(2)

结果:
{ "_id" : ObjectId("5103e22c88a39c3c0b2585e1"), "name" : "Denis", "age" : 20, "city" : "Princeton" }
{ "_id" : ObjectId("5103e22d88a39c3c0b2585e2"), "name" : "Abe", "age" : 30, "city" : "Amsterdam" }
需要排下序,没问题,加上sort就可以了
,比如根据name排序
db.Blog.find().sort({name: 1}).limit(2)

{ "_id" : ObjectId("5103e22d88a39c3c0b2585e2"), "name" : "Abe", "age" : 30, "city" : "Amsterdam" }
{ "_id" : ObjectId("5103e22c88a39c3c0b2585e1"), "name" : "Denis", "age" : 20, "city" : "Princeton" }
如果只需要显示某些列,可以这样:
db.Blog.find(null, {name: 1, _id: 0}).sort({name: 1}).limit(2)
_id:0这样的方式,连id列也不显示了

只显示
{ "name" : "Abe" }
{ "name" : "Denis" }

3 分页
比如要范围第3,第4条记录,使用skip(2),跳过2条

db.Blog.find(null, {name: 1, _id: 0}).sort({name: 1}).limit(2).skip(2)
结果为:
{ "name" : "John" }
{ "name" : "Xavier" }

如果skip的数超过记录条数,也是不会报错的了:

比如:
db.Blog.find(null, {name: 1, _id: 0}).sort({name: 1}).limit(2).skip(6)

另外,使用$natural参数可以倒过来输出所有记录,比如:
db.Blog.find().sort( { $natural: -1 } )
{ "_id" : ObjectId("5103eaa688a39c3c0b2585ed"), "name" : "Zen", "age" : 50, "city" : "Kyoto" }
{ "_id" : ObjectId("5103eaa588a39c3c0b2585ec"), "name" : "Xavier", "age" : 10, "city" : "Barcelona" }
{ "_id" : ObjectId("5103eaa588a39c3c0b2585eb"), "name" : "John", "age" : 40, "city" : "New York" }
{ "_id" : ObjectId("5103eaa588a39c3c0b2585ea"), "name" : "Abe", "age" : 30, "city" : "Amsterdam" }
{ "_id" : ObjectId("5103eaa588a39c3c0b2585e9"), "name" : "Denis", "age" : 20, "city" : "Princeton" }
要注意的是,居然说超过32MB 会报错,说要用 cursor.limit()或者在要排序的列中创建索引,才不报错?

转载于:https://blog.51cto.com/ajiao13/1132200

mongodb中分页显示数据集的学习相关推荐

  1. python 如何使用 pandas 在 flask web 网页中分页显示 csv 文件数据

    目录 一.实战场景 二.知识点 python 基础语法 python 文件读写 python 分页 pandas 数据处理 flask web 框架 jinja 模版 三.菜鸟实战 初始化 Flask ...

  2. SHOW DBS在MongoDB中不显示我的自建库

    安装MongoDB服务 一切准备就绪 创建自己的库  忽然发现 图形化界面里面没有我的数据库 show dbs 也看不到 但是可以用怎么办? 首先 进入 MongoDB的bin目录:键入mongo命令 ...

  3. MongoDB中的分页–如何真正避免性能下降?

    目录 从哪儿开始 ? 涵盖的主题 安装 查看结果 使用cursor.skip()和cursor.limit()分页结果 使用最后一个位置分页 LINQ格式 Mongo的ID 返回较少的元素 Mongo ...

  4. Jsp中分页功能的实现

    分页查询功能一直是web编程中常用的技术,如何实现可重复使用而又简单的分页技术呢,下面的代码可以提供一些参考,实现用户列表的分页显示,当其它数据需分页显示时,可以复用其中的分页对象 (SplitPag ...

  5. python保存模型的路径怎么写_使用python在MongoDB中保存机器学习(ML)和深度学习(DL)模型...

    我们知道,当我们训练机器学习或深入学习模型时,我们必须保存训练过的模型,以便将来进行预测.现在的训练模型非常昂贵,所以如果我们能够保存它们并将其用于解决其他一些问题.例如,一个训练过的能够识别汽车的神 ...

  6. Eclipse搭建SSH环境实现Struts2分页显示mysql数据库表中内容

    2019独角兽企业重金招聘Python工程师标准>>> 摘要 学习(Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程),尝试搭建ssh框架 ...

  7. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...

  8. 【沃顿商学院学习笔记】商业分析——Customer Analytics:05 营销中的新兴数据集:营销科学的未来 EMERGING DATA SETS IN MARKETING

    商业进阶--营销科学的未来 本章主要从当今营销领域的五大分析应用领域:数据Data.探索数据Data Explorer.预测模型Predictive Model.优化Optimization和决策De ...

  9. Django中html里的分页显示

    分页一(very low) 因为数据量过大,而又想直观便捷的查看数据,进而通过分页显示就可以完成这项工作 app中views.py LIST=[] #全局定义一个LIST for i in range ...

最新文章

  1. Usage and Idioms——Categories
  2. 图解MySql命令行创建存储过程
  3. AFNetworking 3.0 发送soap到webservice
  4. 位运算和时间复杂度的分析
  5. SpringMVC中使用Interceptor拦截器
  6. RPM ,yum工具
  7. 若一个月给你50000元,要你选下面一件事做,你会选?
  8. 安卓调用系统相机三步走
  9. python基础版课件_python基础课件精编版.ppt
  10. aptitude 命令_C-命令行参数Aptitude问题与解答
  11. 细分shared_ptr智能指针在各个版本的使用情况
  12. 人民大学的《统计学》
  13. DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth
  14. Python:完整的语法规范
  15. Java 集合系列16之 Spring Boot 配置文件 选项配置(一)
  16. 如何让Mac电脑在Finder窗口顶部显示文件路径?
  17. 6. 标准 I/O 库
  18. 当面试官问到以后的职业规划,这样回答绝对称赞你是高手!(二)
  19. [网易IM通讯]推送小结
  20. 平面设计学费,平面设计学费大概多少:夏雨老师

热门文章

  1. mysql show schema_快速入门 · xiaoboluo768/mysql-system-schema Wiki · GitHub
  2. 开机直接进入键盘布局_不要亏待了你的手指,这款无线机械键盘了解一下
  3. c++ 判断数学表达式有效性_高考数学大题如何quot;保分quot;?学霸教你六大绝招!...
  4. 在ubuntn kylin系统eclipse中Java语言helloworld程序
  5. 【项目管理】绩效域-工件裁剪对照(工件维度)
  6. 新概念0820:我只有一种生活
  7. 常用服务器性能分析工具
  8. 《系统集成项目管理工程师》必背100个知识点-34项目范围基准
  9. Angular中提示:Can't bind to 'ngModel' since it isn't a known property of 'input'
  10. 解决pip使用异常No module named 'pip'