我一直在寻找一种使用Sequelize和Postgres实现光标分页的方法,我找不到任何关于如何执行此操作的明确基本示例。我知道有一些npm软件包可以提供帮助,但似乎没有任何关于如何使用它们的明确说明。
答案 0 :(得分:1)
我知道我来晚了,但是通过执行类似的操作,我能够实现光标分页。
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const getUsers = async (lastId, limit) => {
const cursor = lastId || 0;
return await User.findAll({
limit: limit
where: {
id: {
[Op.gt]: cursor
}
}
});
}
答案 1 :(得分:0)
这是我前一段时间进行的分页查询的示例:
const findAll = (page, successCallback, errorCallback) => {
sequelize.Event.findAll({
limit: 20,
offset: 20*page,
where: {
/* ... */
},
order: [
/* ... */
]
})
.then(events => successCallback(events))
.catch(err => errorCallback(err));
};
答案 2 :(得分:0)
有一个用于 sequelize-cursor-pagination 的包。