继续上次的学习
--分页与排序
--游标及其他
1.limit返回指定数据条数
查询person集合中前五条文档
db.person.find({},{"_id":0,"name":1}).limit(5)
2.skip返回指定数据的跨度
查询person集合中5-10条文档
db.person.find({},{"_id":0,"name":1}).limit(5).skip(5)
3.Sort返回按照年龄排序的
db.person.find({},{"_id":0,"name":1,"age":1}).sort({"age":1})红色部分可以是1或者-1,也就代表了正序和倒序
4.limit和skip完成分页
3条数据为一页进行显示
db.person.find({},{"_id":0,"name":1}).limit(3).skip(0)第一页
db.person.find({},{"_id":0,"name":1}).limit(3).skip(3)第二页
但是,请注意,skip会有性能的问题,因此,可以考虑换一个角度,把每条文档加上一个日期键.
db.person.find({"date":{$gt:日期}}).limit(3)
5.利用游标遍历查询数据
var person = db.person.find();
while(person.hasNext()){
obj = person.next();
print(obj.name)
}
6. 游标销毁的几个条件
(1)客户端发来信息让其销毁
(2)游标迭代完毕
(3)默认游标超过十分钟不用的话也会销毁
7.查询快照(非常有用)
快照后就会对不变的集合进行游标运动
db.person.find({$query:{"name":"jim"},$snapshot:true})