MongoDB中的 Limit和Skip方法实现分页,Sort实现排序,Count实现统计个数,distinct去除重复数据(八)
2019-06-14 23:01
3463 查看
MongoDB也有Limit读取指定数量的数据记录,Skip 跳过指定数量的数据,它俩结合起来就可以做一个分页
Sort是MongoDB内置的排序方法,和上面的Limit,Skip可以合用
准备测试数据
> db.col.find() { "_id" : ObjectId("5d0346819cd49366b7f099ee"), "title" : "教育" } { "_id" : ObjectId("5d0346819cd49366b7f099ef"), "title" : "人民教师" } { "_id" : ObjectId("5d0346819cd49366b7f099f0"), "title" : "任教" } { "_id" : ObjectId("5d0376e49cd49366b7f099f1"), "title" : 555 }
1、Limit()方法
语法
db.collection.find().limit(Number) //Number 读取的记录条数
开始测试
> db.col.find().limit(2) //要是数值类型的 { "_id" : ObjectId("5d0346819cd49366b7f099ee"), "title" : "教育" } { "_id" : ObjectId("5d0346819cd49366b7f099ef"), "title" : "人民教师" }
注:如果你们没有指定limit()方法中的参数则显示集合中的所有数据。
2、Skip()方法
语法
db.collection.find().limit(Number1).skip(Number2) //Number1 读取的记录条数,Number2是跳过的条数
开始测试
> db.col.find().limit(2).skip(2) { "_id" : ObjectId("5d0346819cd49366b7f099f0"), "title" : "任教" } { "_id" : ObjectId("5d0376e49cd49366b7f099f1"), "title" : 555 }
这样就可以查询从第3个文档开始,查询2个文档,
执行顺序:先skip() 再 limit(),右到左
3、Sort()方法
MongoDB中 sort() 方法可以根据指定字段进行数值比较排序,参数1 是正序(递增),参数 -1 是倒叙(递减)
语法
db.collection.find().sort({字段名:参数(1或-1)})
准备数据
> db.mycol.find() { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd3"), "name" : "王宇", "grade" : 85 } { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd4"), "name" : "李华", "grade" : 80 } { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd5"), "name" : "王芳", "grade" : 90 }
正序
> db.mycol.find().sort({grade:1}) { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd4"), "name" : "李华", "grade" : 80 } { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd3"), "name" : "王宇", "grade" : 85 } { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd5"), "name" : "王芳", "grade" : 90 }
倒叙
> db.mycol.find().sort({grade:-1}) { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd5"), "name" : "王芳", "grade" : 90 } { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd3"), "name" : "王宇", "grade" : 85 } { "_id" : ObjectId("5d05dc7ddfe22547ff8d6fd4"), "name" : "李华", "grade" : 80 }
上面三种方法一起用
db.collection.find().limit().skip().sort()
执行顺序从右到左,先sort(),再skip(),再limit()
4、Count()方法,统计个数
语法:
db.collection.find({条件}).count()
或者
db.collection.count({条件})
测试
1、查询所有的文档条数
> db.mycol.count() //db.mycol.find().count() 3
2、查询成绩在85分及以上的同学的分数
> db.mycol.find({grade:{$gte:85}}).count() 2
另一种方法
> db.mycol.count({grade:{$gte:85}}) 2
distinct()方法,去除重复数据
语法 :
db.collection.distinct(去重字段名,{条件})
相关文章推荐
- MongoDB 数据分页和排序 limit,skip,sort用户
- MongoDB文档查询-分页查询(limit、skip)与查询结果排序(sort)
- java8新特新:接口流-Stream()接口和所有方法(map,foreach,filter,count,distinct,limit,collect,skip,sorted)
- mysql 5.6 order by limit 排序分页数据重复问题
- SQL分页排序的实现与分页数据重复问题——以Oracle rownum为例
- MongoDB入门---文档查询之$type操作符&limit方法&skip方法&简单排序(sort)操作
- jQuery实现使用sort方法对json数据排序的方法
- 菜鸟的mongoDB学习---(五)MongoDB的limit、skip、sort方法
- Mongodb数据统计分析:group by、count(distinct userId)
- 算法第三次作业(1. 排序。对文件 largeW.txt(下载链接)中的数据,编程实现冒泡排序(方法名:bubbleSort) 与 归并排序(mergeSort),把排序后的结果分别保存到largeW
- Java实现数组去除重复数据的方法详解
- java编程实现对10个整型数据元素输出最小的两个数,java自带的Arrays.sort排序方法,小--->大
- Hibernate用Criteria查询时使用Distinct方法去除重复数据
- SQL分页排序的实现与分页数据重复问题——以Oracle rownum为例
- Mongodb从0到1系列四: Limit与Skip方法、排序、索引
- Hibernate用Criteria查询时使用Distinct方法去除重复数据
- SQL分页排序的实现与分页数据重复问题——以Oracle rownum为例
- SQL分页排序的实现与分页数据重复问题——以Oracle rownum为例
- SQL DISTINCT去掉重复的数据统计方法
- Python实现从键盘接收若干个整数,存放在列表中。自己实现某种排序算法,将输入数据进行升序排列,并将排序结果在屏幕上输出,并对比该算法与列表自带sort方法的性能。