这次继续看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测试数据,学习增删改查等,或是用于性能测试
MongoDB学习MongoDB学习MongoDB学习
MongoDB实验数据集
SpringBoot+MongoDB+Echarts图表数据可视化 SpringBoot+MongoDB+Echarts图表数据可视化
MongoDB 主从复制,副本集分布式存储(OSX为例 其他的都一样)
随着NoSQL数据库越来越流行,MongoDB数据库作为NoSQL数据库中的领头羊,使用也越来越广泛。为此,FineReport V8.0版本提供了数据连接和数据集接口,可以通过开发一款可以连接和使用的MongoDB数据库的插件。
使用mongodb和gfs管理海量天文图像数据
Mongodb亿级数据量的性能测试 测试项目 分析测试结果
将mongodb矢量数据在geoserver中发布;将mongodb矢量数据在geoserver中发布
主要介绍了使用aggregate在MongoDB中查询重复数据记录的方法的相关资料,需要的朋友可以参考下
MongoDB的元数据与数据类型.pdf 学习资料 复习资料 教学资源
MongoDB 学习资料集锦,包含了mongodb权威指南,以及官方的详细手册
MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_学习笔记MongoDB_...
教程名称:从浅入深学习 MongoDB视频教程全集 课程目录:【】MongoDB视频教程-00_MongoDB代码【】MongoDB视频教程01_第一讲_上【】MongoDB视频教程02_第一讲_下【】MongoDB视频教程03_第二讲_上【】MongoDB视频教程...
MongoDB 学习PPT
MongoDB;学习资料
本文主要介绍了关于MongoDB存储数据的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。 Memeory-Mapped ...
该文档详细讲述了对三个服务器的mongodb进行副本集与分片的部署。并给出测试方案和架构图。
Studio 3T(MongoDB数据库GUI连接工具)学习笔记
MongoDB,基础,学习,资料 MongoDB,基础,学习,资料