当前位置:   article > 正文

java mongodb skip_MongoDB文档查询-分页查询(limit、skip)与查询结果排序(sort

java mongo limit sort

MongoDB使用find()方法查询后,可能需要对于返回结果进行排序。在有些查询中,我们并不需要返回全部结果,而是按指定的页长和页码返回指定数量的结果

1. limit()指定查询结果数量

find()方法查询文档后,其默认返回前20条数据。要限制MongoDB查询结果数,使用limit()方法,该方法接受一个数字值,表示要返回的结果数。

limit()语法结构

db.COLLECTION_NAME.find().limit(NUMBER)

例如,现有sites数据集合,集合数据如下:

{ "_id" : ObjectId("56999ca102129bdec412ed38"), "name" : "IT笔录", "domain" : "itbilu.com" }

{ "_id" : ObjectId("56999ca902129bdec412ed39"), "name" : "老聂", "domain" : "niefengjun.cn" }

{ "_id" : ObjectId("56999cb102129bdec412ed3a"), "name" : "一介布衣", "domain" : "yijiebuyi.com" }

查询该集合,只返回第一条数据:

> db.sites.find().limit(1)

{ "_id" : ObjectId("56999ca102129bdec412ed38"), "name" : "IT笔录", "domain" : "itbilu.com" }

2. skip()指定查询偏移量

在使用SQL查询的数据库(如:mySQL、PostgreSQL)中,可以使用limit 数量,偏移量或使用limit 数量 offset 偏移量实现数据的分页查询。而在MongoDB中,可以使用skip()方法,指定偏移量,该也接受一个表示数量的参数。

skip()语法结构

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

例如,使用skip()查询sites集合中的第二个文档:

> db.sites.find().limit(1).skip(1)

{ "_id" : ObjectId("56999ca902129bdec412ed39"), "name" : "老聂", "domain" : "niefengjun.cn" }

3. sort()实现查询结果排序

对MongoDB的查询文档进行排序,要使用sort()方法。sort()方法接受一个文档,其中包含的排序的字段,及要指定排序方式。排序方式为可选值为:1和-1,1表示使用升序排列,-1表示降序排序。

sort()语法结构

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

例如,查询sites数据集合,分别按name升序和降序两种试查询:

> db.sites.find().sort({name:1})

{ "_id" : ObjectId("56999ca102129bdec412ed38"), "name" : "IT笔录", "domain" : "itbilu.com" }

{ "_id" : ObjectId("56999cb102129bdec412ed3a"), "name" : "一介布衣", "domain" : "yijiebuyi.com" }

{ "_id" : ObjectId("56999ca902129bdec412ed39"), "name" : "老聂", "domain" : "niefengjun.cn" }

> db.sites.find().sort({name:-1})

{ "_id" : ObjectId("56999ca902129bdec412ed39"), "name" : "老聂", "domain" : "niefengjun.cn" }

{ "_id" : ObjectId("56999cb102129bdec412ed3a"), "name" : "一介布衣", "domain" : "yijiebuyi.com" }

{ "_id" : ObjectId("56999ca102129bdec412ed38"), "name" : "IT笔录", "domain" : "itbilu.com" }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/56095
推荐阅读
相关标签
  

闽ICP备14008679号