Упорядочивание вложенных / массивов второго уровня с помощью Prisma?

#sql #postgresql #prisma #prisma-graphql #prisma2

Вопрос:

Я использую Prisma и PostgreSQL. Здесь я беру кое-что:

 await prisma.items.findMany({
        where: { itemId: itemId },
        include: {
            modules: {
                include: {
                    lessons: true
                }
            }
        }
    });
 

Мне не нужно заказывать самих items себя, но я хотел бы заказать modules amp; lessons , который я получу обратно. У обоих есть свойство INT (называемое: number ), для которого я мог бы выполнить упорядочение, но я не знаю, как это сделать с помощью prisma / postgresql, или даже если это возможно.

Есть идеи?

Ответ №1:

Для этого вы можете использовать orderBy оператор.

Вот как будет выглядеть запрос для вашего варианта использования:

 const data =  await prisma.items.findMany({
    where: {itemId: itemId},
    include: {
        modules: {
            orderBy: {
                number: 'asc'
            },
            include: {
                lessons: {
                    orderBy: {
                        number: 'asc'
                    }
                }
            }
        }
    }
})

 

Статья о фильтрации и сортировке содержит более подробную информацию об этом.