【发布时间】:2020-01-10 10:59:32
【问题描述】:
我有以下简单的代码:
const users = await User.findAll({
limit: 10,
offset: (page - 1) * 10,
order: [['createdAt', 'DESC']],
where: { isAdmin: false },
})
我希望这段代码返回基于page 的分页用户结果。例如,对于page = 1,我希望获得前 10 个用户,对于page = 2,我希望获得接下来的 10 个用户。
在我的测试中,我使用bulkCreate 来创建用户:
await models.User.bulkCreate(
Array.from({ length: 25 }).map((_, i) => ({
email: `user-${i}@test.com`,
name: 'test',
password: 'password1',
})),
)
然后我使用page = 1 进行查询,它按预期工作 - 它返回给我user-0@test.com 直到user-9@test.com。
但是,当我使用 page = 2 进行查询时,它会返回 user-9 到 user-18。我希望将user-10 提高到user-19,但我得到的是user-9,这是我在第一个查询中已经收到的。
我在这里做错了什么?提前致谢。
【问题讨论】:
标签: javascript postgresql typescript pagination sequelize.js