我是靠谱客的博主 懵懂钻石,最近开发中收集的这篇文章主要介绍mongodb——sort、limit、Count、distinct和skip用法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MongoDB也有Limit读取指定数量的数据记录,Skip 跳过指定数量的数据,它俩结合起来就可以做一个分页
Sort是MongoDB内置的排序方法,和上面的LimitSkip可以合用

准备测试数据

> db.col.find()
{ "_id" : ObjectId("5d0346819cd49366b7f099ee"), "title" : "测试1" }
{ "_id" : ObjectId("5d0346819cd49366b7f099ef"), "title" : "测试2" }
{ "_id" : ObjectId("5d0346819cd49366b7f099f0"), "title" : "测试3" }
{ "_id" : ObjectId("5d0376e49cd49366b7f099f1"), "title" : "测试4" }

1、Limit()方法

语法

db.collection.find().limit(Number)
//Number 读取的记录条数

开始测试

> db.col.find().limit(2)
//要是数值类型的
{ "_id" : ObjectId("5d0346819cd49366b7f099ee"), "title" : "测试1" }
{ "_id" : ObjectId("5d0346819cd49366b7f099ef"), "title" : "测试2" }

:如果你们没有指定limit()方法中的参数则显示集合中的所有数据。

2、Skip()方法

语法

db.collection.find().limit(Number1).skip(Number2)
//Number1 读取的记录条数,Number2是跳过的条数

开始测试

> db.col.find().limit(2).skip(2)
{ "_id" : ObjectId("5d0346819cd49366b7f099f0"), "title" : "测试3" }
{ "_id" : ObjectId("5d0376e49cd49366b7f099f1"), "title" : "测试4" }

这样就可以查询从第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——sort、limit、Count、distinct和skip用法的全部内容,希望文章能够帮你解决mongodb——sort、limit、Count、distinct和skip用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部