【发布时间】:2020-05-26 17:21:53
【问题描述】:
我可以执行 MongoDb 的任何命令来查找特定范围的数据吗?
例如- 我在数据库中有 100 个项目,我想先获取前 10 个项目范围 1-10,然后我想获取下 10 个项目范围 11-20,依此类推。
【问题讨论】:
标签: node.js database mongodb api nosql
我可以执行 MongoDb 的任何命令来查找特定范围的数据吗?
例如- 我在数据库中有 100 个项目,我想先获取前 10 个项目范围 1-10,然后我想获取下 10 个项目范围 11-20,依此类推。
【问题讨论】:
标签: node.js database mongodb api nosql
我们可以使用 skip() 和 limit() 来做到这一点
MongoDB 原生支持使用 skip() 和 limit() 命令进行分页操作。 skip(n) 指令告诉 MongoDB 它应该跳过“n”个结果,limit(n) 指令指示 MongoDB 应该将结果长度限制为“n”个结果。通常,您将在光标上使用 skip() 和 limit() 指令 - 但为了说明该场景,我们提供了可以实现相同结果的控制台命令。另外,为了代码简洁,限制检查代码也被排除在外:
//Page 1
db.users.find().limit (10)
//Page 2
db.users.find().skip(10).limit(10)
//Page 3
db.users.find().skip(20).limit(10)
你明白了。通常,要检索页面“n”,代码如下所示:
db.users.find().skip(pagesize*(n-1)).limit(pagesize)
【讨论】: