【mongoDB实战】limit,skip,sort
2016-09-30 22:54
239 查看
在mongo中最常用的查询选项就是限制返回结果的数量,忽略一定数量的结果并排序.所有这些选项一定要在查询被派发到服务器之前添加.在这里需要用到的就是limit,skip,sort这三个函数了.这三个函数都可以达到限制返回结果数量的目的,但是他们之间还有区别.
limit-取这个表的前两条数据
db.getCollection('activity').find({}).limit(2)
skip-取这个表的后两条数据
db.getCollection('activity').find({}).skip(2)
例如:按照activityCode这个字段进行升序排序,就可以这样写:
db.getCollection('activity').find({}).sort({activityCode:1})
db.getCollection('activity').find({}).limit(2).sort({activityCode:1})(未添加了查询条件的)
如果某商家想要查询activityType为1,并且按照activityCode按照升序排序,就可以使用下面的查询语句.
db.getCollection('activity').find({"activityType":0}).limit(2).sort({activityCode:1})(添加了查询条件的)
三者一块组合,可以理解为每页2条数据,点击"下一页"可以看到更多的结果,通过skip可以非常简单的实现,只需要略过前2个即可(已经在第一页显示了).db.getCollection('activity').find({"activityType":0}).limit(2).skip(1).sort({activityCode:1})
如果skip的数量过多,可能会导致性能的问题,不建议这么使用.这样就体现不到mongo的优点了.
1.limit
要限制结果数量,可以在find后使用limit函数.这个函数类似分页的每页多少条数据,例如,如果每页是2条数据,如果匹配的结果达不到2条,则返回匹配结果的数量,如果匹配结果大于2条,则返回2条.limit-取这个表的前两条数据
db.getCollection('activity').find({}).limit(2)
2.skip
skip和limit最大的区别就是skip是从满足匹配条件的略过符合表数据的前*条数据,显示数据.例如,共四条满足匹配条件,则显示后两条数据.skip-取这个表的后两条数据
db.getCollection('activity').find({}).skip(2)
3.sort
sort用一个对象作为参数:一对键/值对,键对应文档的键名,值代表排序的方向.排序方向可以是1(升序),-1(降序),如果指定了多个键,则按照多个键的顺序进行排序.例如:按照activityCode这个字段进行升序排序,就可以这样写:
db.getCollection('activity').find({}).sort({activityCode:1})
三个函数组合使用
这三个函数可以组合使用,对于分页非常有用.例如:某商家想要查询activity这个表,并且按照activityCode按照升序排序,就可以使用下面的查询语句.db.getCollection('activity').find({}).limit(2).sort({activityCode:1})(未添加了查询条件的)
如果某商家想要查询activityType为1,并且按照activityCode按照升序排序,就可以使用下面的查询语句.
db.getCollection('activity').find({"activityType":0}).limit(2).sort({activityCode:1})(添加了查询条件的)
三者一块组合,可以理解为每页2条数据,点击"下一页"可以看到更多的结果,通过skip可以非常简单的实现,只需要略过前2个即可(已经在第一页显示了).db.getCollection('activity').find({"activityType":0}).limit(2).skip(1).sort({activityCode:1})
如果skip的数量过多,可能会导致性能的问题,不建议这么使用.这样就体现不到mongo的优点了.
总结:
这三个函数各有各自的用处,limit可以理解为用于分页中第一页显示的条数,skip可以理解为"下一页"显示的条数,sort可以理解为分页中按照哪个字段来进行排序.相关文章推荐
- mongodb-$type、limit、skip、sort方法、索引、聚合
- MongoDB 数据分页和排序 limit,skip,sort用户
- 菜鸟的mongoDB学习---(五)MongoDB的limit、skip、sort方法
- MongoDB入门---文档查询之$type操作符&limit方法&skip方法&简单排序(sort)操作
- MongoDB文档查询-分页查询(limit、skip)与查询结果排序(sort)
- mongodb sort limit和skip用法
- MongoDB-基础-limit-skip-sort
- MongoDB-基础-limit-skip-sort
- MongoDB的skip,limit,sort执行顺序---先sort,后skip再limit, 跟写的顺序无关
- 菜鸟的mongoDB学习---(五)MongoDB的limit、skip、sort方法
- mongodb sort limit和skip用法
- MongoDB的skip,limit,sort执行顺序
- MongoDB Limit与Skip方法
- mongodb笔记04(MongoDB $type 操作符,Limit与Skip方法,sort()方法,索引,聚合(aggregate))
- 基于C#在Mongodb的Skip-Limit和Where-Limit的分页对比 并且含mongodb帮助类的源码
- MongoDB Limit与Skip方法
- mongodb: "Overflow sort stage buffered data usage of 33557904 bytes exceeds internal limit of 33554"
- 【MongoDB】sort stage buffered data usage of 33554446 bytes exceeds internal limit of 33554432 bytes
- MongoDB Limit与Skip方法
- MongoDB Limit与Skip方法