node.js分页查询功能怎么写
时间: 2024-01-01 14:55:21 浏览: 68
在 Node.js 中,可以使用数据库查询语言(如 SQL)或 NoSQL 数据库(如 MongoDB)来实现分页查询功能。以下是一个使用 MySQL 数据库和 Sequelize ORM 的示例代码:
```javascript
const { Op } = require('sequelize');
const { User } = require('./models');
const PAGE_SIZE = 10; // 每页显示的记录数
async function getUsers(page) {
const offset = (page - 1) * PAGE_SIZE;
const limit = PAGE_SIZE;
const users = await User.findAndCountAll({
offset,
limit,
where: {
age: {
[Op.gt]: 18, // 年龄大于18
},
},
order: [['id', 'ASC']], // 按ID升序排列
});
const totalPages = Math.ceil(users.count / PAGE_SIZE);
return {
data: users.rows,
pagination: {
page,
totalPages,
totalRecords: users.count,
},
};
}
// 调用示例
getUsers(2).then(result => console.log(result));
```
该示例代码中通过 Sequelize ORM 实现了分页查询功能,其中 `findAndCountAll` 方法返回一个包含查询结果和总记录数的对象。通过计算总记录数和每页记录数,可以计算出总页数和当前页码。
阅读全文