- findMany() : 조건에 맞는 객체들을 배열에 담아서 반환, 모든 테이블의 속성들을 사용 할 수 있다.
- findFirst, findUnique() : 조건에 맞는 객체 하나를 반환, 고유한 속성을 가진 컬럼만 조건에 사용할 수 있다
- send(): 보내기
- findUnique() : 고유한 값으로 레코드 검색
- include :다른테이블과 연결, 조인(join)/스키마에 relation 되어 있어야함
- create & createMany : 레코드 생성
create :
- 한번에 하나의 레코드를 생성
- 중첩 추가 지원 (사용자1명, 2개의 게시물, 게시물 카테고리1개)
- 다대다 관계 지원
createMany :
- 하나의 쿼리에서 모든 레코드 생성
- 중복 레코드 건너뛰기
- update() : 레코드 업데이트
- delete() : 레코드 삭제
- connectOrCreate : 고유 id 에 의해 기존 레코드를 연결하거나 또는 레코드가 존재하지 않으면, 레코드를 새로 생성할 때 사용한다.
- _count : _count를 통해 relation을 통해 [ ]로 받아오는 컬럼의 값의 수를 response 할 수 있다.
- connectOrCreate : 고유 id 에 의해 기존 레코드를 연결하거나 또는 레코드가 존재하지 않으면, 레코드를 새로 생성할 때 사용한다.
- queryRaw:prisma에서rawquery를사용할수있다‘‘‘constusers=awaitprisma.queryRaw
SELECT * FROM User
;```
- gt: 보다 큰것
- gte : 보다 크거나 같은것
- lt: 보다 작은것
- lte : 보다 작거나 같은것
- contains : 포함하는것(LIKE)
- startsWith : 시작하는것(LIKE %)
- endWith: 끝나는것
const result = await prisma.post.findMany({
where: {
title: {
startsWith: 'Pr',
},
},
})
예제
const allUsers = await prisma.user.findMany()
const emails = allUsers.map((x) => x.email)
await emailService.send(emails, 'Hello!')
}```
// email,name필드만 반환
const getUser: object | null = await prisma.user.findUnique({
where: {
id: 22,
},
select: {
email: true,
name: true,
},
})
where: { email: "alice@prisma.io" },
include: { posts: true },
});
const result = await prisma.user.findMany({
where: {
name: {
startsWith: "A",
},
},
});
레퍼런스
참고 블로그
참고 블로그
참고 블로그(CRUD)