Node.js学习14~实现翻页或分页查询
Posted 秋9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js学习14~实现翻页或分页查询相关的知识,希望对你有一定的参考价值。
实现翻页或分页查询,下面使用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)
以上是关于Node.js学习14~实现翻页或分页查询的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MongoDB 中对聚合查询结果进行分页并获得总文档数(Node.js + Mongoose)?
Atitit.列表页面and条件查询的实现最佳实践------翻页 分页 控件的实现java .net php