NodeJS中mongo限制和跳过方法的约定

时间:2019-06-24 09:55:10

标签: javascript node.js mongodb

我是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 :(得分:0)

理想情况下,页面从1开始。将页面0作为起始页面并没有多大区别,但其他选项则更加常规和整洁。

也可以跳过和限制,您可以执行以下操作-

跳过=每页*(第1页)

限制=每页

例如,每页为3,

第1页:

跳过= 3 *(1-1)= 0,跳过第1页的0个项目

第2页:

跳过= 3 *(2-1)= 3,从第2页跳过3个项目,依此类推