我是 JS 新手,正在尝试构建 REST API。 我有一个数据库,其中包含文档,并且我实现了一种搜索方法,可以使用索引在每个字段中进行搜索。现在我想启用某种分页,所以我使用了 limit() 和skip()。 我的问题是:按照惯例,页面应该以 1 还是 0 开头?我的意思是如果我这样做:
let userArray = await User.find({$text: {$search:keyword}})
.select(["-password", "-__v"])
.limit(perPage)
.skip(perPage*page)
如果我想要每页 3 个项目和第二页,网址应该是:
url?limit=3&page=1
或
url?limit=3&page=2
很抱歉,如果问题已经被提出并且很愚蠢,但我尝试编写尽可能干净的代码。
最佳答案
理想情况下,页面从 1 开始。将页面 0 作为起始页不会有太大区别,但其他选项更加传统和干净,如您所愿。
还要跳过和限制,您可以执行如下操作 -
跳过 = 每页 *(页 - 1)
限制=每页
例如每页是 3,
第 1 页:
skip = 3 * (1-1) = 0,跳过第 1 页的 0 项
第 2 页:
skip = 3 * (2-1) = 3,从第 2 页跳过 3 项,依此类推
关于javascript - NodeJS中mongo的limit和skip方法约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56734075/