MongoDB Limit与Skip方法

MongoDB Limit() 方法

如果需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。

语法

limit()方法基本语法如下所示:

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

实例

集合 col 中的数据如下:

> db.col.find()
{ "_id" : ObjectId("5aefe63c2d2577acadf1e0d2"), "title" : "PHP", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "APP开发技术博客", "url" : "http://www.appblog.cn", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("5aefe6462d2577acadf1e0d3"), "title" : "Java", "description" : "Java 是由Sun公司于1995年5月推出的高级程序设计语言。", "by" : "APP开发技术博客", "url" : "http://www.appblog.cn", "tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5aefe64f2d2577acadf1e0d4"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "APP开发技术博客", "url" : "http://www.appblog.cn", "tags" : [ "mongodb" ], "likes" : 100 }

以上实例为显示查询文档中的两条记录:

> db.col.find({},{"title":1,_id:0}).limit(2)
{ "title" : "PHP" }
{ "title" : "Java" }

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

MongoDB Skip() 方法

除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip()方法同样接受一个数字参数作为跳过的记录条数。

语法

skip() 方法脚本语法格式如下:

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

实例

以下实例只会显示第二条文档数据

> db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
{ "title" : "Java" }

注:skip()方法默认参数为 0

当查询时同时使用sort,skip,limit,无论位置先后,执行顺序为:sort->skip->limit。

不要轻易使用skip来做查询,否则数据量大了就会导致性能急剧下降,这是因为Skip是一条一条的数过来的

假设我们查询第100001条数据,这条数据的Amount值是:2399928,我们来写两条语句分别如下:

db.test.sort({"amount":1}).skip(100000).limit(10)  //183ms
db.test.find({amount:{$gt:2399928}}).sort({"amount":1}).limit(10)  //53ms

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/12/mongodb-limit-and-skip/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
MongoDB Limit与Skip方法
MongoDB Limit() 方法 如果需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的……
<<上一篇
下一篇>>
文章目录
关闭
目 录