mongodb中分页显示数据集的学习
来源:互联网 发布:做java程序员能做多久 编辑:程序博客网 时间:2024/05/19 21:44
来自:http://my.oschina.net/u/232796/blog/106577
这次继续看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()或者在要排序的列中创建索引,才不报错?
- mongodb中分页显示数据集的学习
- Springmvc + mongodb + js 分页显示数据
- mongodb中分页显示及其启发
- 数据分页显示学习笔记
- MongoDB学习笔记2--MongoDB数据库中数据的导入
- 在JSP页面中实现检索数据的分页显示
- 在JSP页面中实现检索数据的分页显示
- 在JSP页面中实现检索数据的分页显示
- magento中对获取的数据在前台分页显示
- python 实现分页显示从es中获取的数据
- Springmvc + mongodb + dataTables 分页显示数据及导出Excel文件
- XML数据的分页显示
- 数据的分页显示操作
- mongoDB中循环显示所有数据
- [学习小笔记] JSP分页显示数据
- c#.net 中数据分页显示
- J2EE中实现数据显示分页
- 在jTable中分页显示数据
- Hadoop MapReduce进阶 使用分布式缓存进行replicated join
- SSH支持Annotation集成 (Struts2 Spring3 Hibernate3)
- android 背光设置
- Splay解决区间问题[区间更新,区间求和]
- 简单计算机c++代码
- mongodb中分页显示数据集的学习
- Java类与对象的初始化
- 键入一个自然数 ,求这个自然数的所有约数之和
- Hadoop MapReduce进阶 使用DataJoin包实现Join
- 新东方六级6-12
- Final关键字对JVM类加载器的影响
- 结合程序学习多线程的创建
- 从 n 个数中挑选出最大的数
- PostgreSQL学习笔记9之事务隔离