MongoDB_06之查询+分页查询与排序
来源:互联网 发布:状态机编程 编辑:程序博客网 时间:2024/05/22 12:05
1.$slice操作符返回文档中指定数组的内部值 查询出Jim书架中第2-4本书 db.persons.find({name:"Jim"},{books:{$slice:[1,3]},_id:0}) 查询出最后一本书 db.persons.find({name:"Jim"},{books:{$slice:-1},_id:0}) //两个条件写在同一个{}中2.文档查询(数组对象的查询) 查询出在K学校上过学并且成绩是A的学生 即 是K学校并且成绩是A db.persons.find({school:{school:"K",score:"A"}},{_id:0,school:1}) 但上面的查询存在一个问题,因数组对象具有顺序,如果把score:"A"放前面,school:"K"放后面,将会导致查不出来,为了解决这类问题,可以用单条条件组查询$elemMatch db.persons.find({school:{$elemMatch:{school:"K",score:"A"}}})3.$where查询 查询出年龄大于22岁,喜欢看c++,在K学校上过学的学生信息 复杂的查询我们可以用$where,因为他是万能的,但是我们要尽量少使用它,因它有性能的代价 //具体用法请查看mongoDB权威指南分页查询4.limit返回指定的数据条数 查询出persons文档中前5跳数据 db.persons.find({},{_id:0,name:1}).limit(5)5.skip返回指定数据的跨度 查询出persons文档中5-10条数据 即 跨5条查5条 db.persons.find({},{_id:0,name:1}).limit(5).skip(5)6.sort排序 返回按照年龄排序的数据,sort的值有-1,1 代表倒序,正序 按照正序查询出5到10条中的学生信息 db.persons.find({},{_id:0,name:1,age:1}).limit(5).skip(5).sort({age:1})7,limit和skip完成分页 第一页 db.persons.find({},{_id:0,name:1}).limit(3).skip(0) //查3条 跨0条 第二页 db.persons.find({},{_id:0,name:1}).limit(3).skip(3) //查3条 跨3条游标8.利用游标遍历查询数据 var persons = db.persons.find(); while(persons.hasNext()) { obj = persons.next(); print(obj.name) }9.快照(文档变大后,可能预留空间不够,则会扩容,把顺序打乱,这样会导致重复读数据,这个时候就要用到快照)
0 0
- MongoDB_06之查询+分页查询与排序
- 数据库分页查询+排序
- 分页查询,并且排序
- lucene 查询+分页+排序
- Redis 分页排序查询
- Redis分页排序查询
- mongodb排序&分页查询
- oracle分页排序查询
- SQL 查询分页,排序后分页查询
- MongoDB文档查询-分页查询(limit、skip)与查询结果排序(sort)
- 分页与查询优化
- 分页与高级查询
- Oracle之分页查询
- Oracle之分页查询
- Oracle之分页查询
- Oracle之分页查询
- Oracle之分页查询
- Oracle之分页查询
- 设计模式入门之职责链模式Chain Of Responsibility
- ZooKeeper 会话超时
- OpenNI 1.5.4.0下VS2010开发环境的配置
- 每个程序员都必读的10篇文章
- 2.java杂谈
- MongoDB_06之查询+分页查询与排序
- 一周四天假- -
- atoi和itoa
- hdu 1232 畅通工程
- C学习笔记_01_进制与三码
- C++第13周(春)项目1 - 点、圆的关系
- vc中常见字符类型的讨论
- COCOS2D-X 动作类 瞬时动作CCActionInstant
- android之 MAT、DDMS 等内存查看工具