Встречается на собеседованиях • сегодня

Как реализовать пагинацию в Prisma

Для пагинации в Prisma используйте методы skip и take:

typescript
const page = 1;
const perPage = 10;

const users = await prisma.user.findMany({
  skip: (page - 1) * perPage, // Пропускаем предыдущие записи
  take: perPage, // Берем только N записей
  orderBy: { id: 'asc' } // Сортировка для стабильности
});

Дополнительно можно получить общее количество записей для отображения общего числа страниц:

typescript
const totalUsers = await prisma.user.count();
const totalPages = Math.ceil(totalUsers / perPage);

Для курсорной пагинации (более эффективной при больших данных):

typescript
const users = await prisma.user.findMany({
  take: perPage,
  cursor: { id: lastUserId }, // ID последнего элемента предыдущей страницы
  skip: 1, // Пропускаем курсорный элемент
  orderBy: { id: 'asc' }
});
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы