mongodb的limit()方法、skip()方法和sort() 方法

1. mongodb的limit()方法

限制查询条数的方法

语法

# limit()中number值为空时代表全部查出
db.COLLECTION_NAME.find().limit(NUMBER)

实例

# 查出myCollection集合中前两条记录
> db.myCollection.find().limit(2)
{ "_id" : ObjectId("5a9034fdd5f9a583d52a7f78"), "name" : "eee", "address" : "万年花城" }
{ "_id" : ObjectId("5a903519d5f9a583d52a7f7b"), "name" : "ddd", "age" : 19 }

2. mongodb的skip()方法

查询结果跳过若干条记录

语法

db.COLLECTION_NAME.find().skip(NUMBER)

实例

#查询myCollection集合中去掉前两条记录的文档
> db.myCollection.find().skip(2)
{ "_id" : ObjectId("5a90352b113385ab59f380b2"), "name" : "wfei" }
{ "_id" : ObjectId("5a903546113385ab59f380b3"), "name" : "ccc" }

3. mongodb的sort() 方法

使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。

语法

db.COLLECTION_NAME.find().sort({KEY:Number})

实例

col 集合中的数据如下:

{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb" ], "likes" : 100 }
以下实例演示了 col 集合中的数据按字段 likes 的降序排列:
>db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
>

skip()与limit()的联合使用

skip()与limit()的前后顺序没有要求,不管怎么放置他们执行的顺序都是先sort()后skip()最后limit()

实例

# 常用在分页方法中
# 查询myCollection集合中,跳过前两条记录,每页一条记录
> db.myCollection.find().skip(2).limit(1)
{ "_id" : ObjectId("5a90352b113385ab59f380b2"), "name" : "wfei" }

另外需要强调的一点是,skip() 的number值不要赋太大的值,值越大执行的越慢

你可能感兴趣的:(MongoDB)