Перейти к содержанию

Настройки

select

select определяет, какие поля включаются в возвращаемый объект.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const user = await prisma.user.findUnique({
    where: { email },
    select: {
        id: true,
        email: true,
        first_name: true,
        last_name: true,
        age: true,
    },
});

// or
const usersWithPosts = await prisma.user.findMany({
    select: {
        id: true,
        email: true,
        posts: {
            select: {
                id: true,
                title: true,
                content: true,
                author_id: true,
                created_at: true,
            },
        },
    },
});

// or
const usersWithPostsAndComments = await prisma.user.findMany(
    {
        select: {
            id: true,
            email: true,
            posts: {
                include: {
                    comments: true,
                },
            },
        },
    }
);

include

include определяет, какие отношения (связанные записи) включаются в возвращаемый объект.

1
2
3
4
5
6
7
8
9
const userWithPostsAndComments = await prisma.user.findUnique(
    {
        where: { email },
        include: {
            posts: true,
            comments: true,
        },
    }
);

where

where определяет один или более фильтр (о фильтрах мы поговорим отдельно), применяемый к свойствам записи или связанных записей:

1
2
3
4
5
6
7
const admins = await prisma.user.findMany({
    where: {
        email: {
            contains: 'admin',
        },
    },
});

orderBy

orderBy определяет поля и порядок сортировки. Возможными значениями orderBy являются asc и desc.

1
2
3
4
5
6
7
const usersByPostCount = await prisma.user.findMany({
    orderBy: {
        posts: {
            count: 'desc',
        },
    },
});

distinct

distinct определяет поля, которые должны быть уникальными в возвращаемом объекте.

1
2
3
4
5
6
7
const distinctCities = await prisma.user.findMany({
    select: {
        city: true,
        country: true,
    },
    distinct: ['city'],
});

Комментарии