const { paginateQuery } = require('./utils/pagination'); const mongoose = require('mongoose'); const Post = require('./models/Post'); // 连接数据库 mongoose.connect('mongodb://127.0.0.1:27017/blog', { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => { console.log('数据库连接成功'); testPagination(); }) .catch(err => { console.error('数据库连接失败:', err); process.exit(1); }); async function testPagination() { try { console.log('开始测试分页功能...\n'); // 测试分页查询 const page = 1; const limit = 5; console.log(`测试参数: 页码=${page}, 每页数量=${limit}`); const result = await paginateQuery( Post, {}, { sort: { createdAt: -1 } }, page, limit ); console.log('分页结果:'); console.log('- 当前页:', result.pagination.currentPage); console.log('- 总页数:', result.pagination.totalPages); console.log('- 总记录数:', result.pagination.total); console.log('- 当前页记录数:', result.data.length); console.log('- 是否有下一页:', result.pagination.hasNext); console.log('- 是否有上一页:', result.pagination.hasPrev); console.log('\n文章列表:'); result.data.forEach((post, index) => { console.log(`${index + 1}. ${post.title} (${post.author})`); }); mongoose.connection.close(); } catch (error) { console.error('测试失败:', error); mongoose.connection.close(); } }