实现翻页或分页查询,下面使用node-sequelize模型查询。
findAndCountAll 方法是结合了 findAll 和 count 的便捷方法. 在处理与分页有关的查询时非常有用,在分页中,你想检索带有 limit 和 offset 的数据,但又需要知道与查询匹配的记录总数.
findAndCountAll 方法返回一个具有两个属性的对象:
count - 一个整数 - 符合查询条件的记录总数
rows - 一个数组对象 - 获得的记录
基于如下例子进行改造实现
const { count, rows } = await Project.findAndCountAll({
where: {
title: {
[Op.like]: 'foo%'
}
},
offset: 10,
limit: 2
});
console.log(count);
console.log(rows);
改造后的代码如下:
const pagenum = parseInt(page) || 1;
const pagesize = parseInt(pageSize) || 10;
const { count, rows } = await Project.findAndCountAll({
where: {
title: {
[Op.like]: '优惠卷%'
}
},
limit: pagesize,
offset:pagenum*pagesize-pagesize,
raw:true
});
console.log(count);
console.log(rows);
其中
limit是每页显示的记录数
offset的公式
((page*limit)-limit)
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://onefire.blog.csdn.net/article/details/124529726
内容来源于网络,如有侵权,请联系作者删除!