FindUnique
와 FindFirst
는 Prisma ORM에서 제공하는 데이터 조회 메서드입니다. 이 두 메서드는 비슷해 보이지만 중요한 차이점이 있습니다. 이에 대해 자세히 알아보도록 하겠습니다.
FindUnique
는 고유 식별자나 고유 제약 조건이 설정된 필드를 기반으로 단일 레코드를 조회할 때 사용합니다.
null
반환// 예시: id로 사용자 찾기
const user = await prisma.user.findUnique({
where: {
id: 1
}
});
// 예시: 이메일로 사용자 찾기 (이메일이 unique 제약조건이 있을 때)
const user = await prisma.user.findUnique({
where: {
email: "[email protected]"
}
});
FindFirst
는 다양한 조건에 맞는 첫 번째 레코드를 찾을 때 사용합니다.
null
반환// 예시: 활성 상태인 첫 번째 사용자 찾기
const user = await prisma.user.findFirst({
where: {
isActive: true
}
});
// 예시: 조건과 정렬을 함께 사용
const user = await prisma.user.findFirst({
where: {
age: { gte: 18 }
},
orderBy: {
createdAt: 'desc'
}
});
만약 phone
칼럼이 unique와 not null 제약조건을 갖고 있고, 중복된 phone 값이 데이터베이스에 삽입되려고 한다면: