const { PrismaClient } = require('@prisma/client'); const prisma = new PrismaClient(); async function checkChapters() { const bookId = 1; // 从URL看是bookId=1 const chapters = await prisma.bookChapter.findMany({ where: { bookId }, orderBy: [ { level: 'asc' }, { number: 'asc' } ], select: { id: true, number: true, title: true, level: true, parentId: true } }); console.log(`书籍 ${bookId} 的章节数据:`); console.log('='.repeat(80)); chapters.forEach(ch => { const indent = ' '.repeat(ch.level - 1); console.log(`${indent}[Level ${ch.level}] ID=${ch.id}, Number=${ch.number}, ParentId=${ch.parentId}, Title=${ch.title}`); }); console.log('='.repeat(80)); console.log(`总共 ${chapters.length} 条记录`); // 检查是否有异常的number值 const level1Chapters = chapters.filter(c => c.level === 1); console.log(`\nLevel 1 (章) 共 ${level1Chapters.length} 个:`); level1Chapters.forEach(c => { console.log(` ID=${c.id}, Number=${c.number}, Title=${c.title}`); }); const level2Chapters = chapters.filter(c => c.level === 2); console.log(`\nLevel 2 (节) 共 ${level2Chapters.length} 个:`); level2Chapters.slice(0, 10).forEach(c => { console.log(` ID=${c.id}, Number=${c.number}, ParentId=${c.parentId}, Title=${c.title}`); }); if (level2Chapters.length > 10) { console.log(` ... 还有 ${level2Chapters.length - 10} 个`); } await prisma.$disconnect(); } checkChapters().catch(console.error);