method_Prisma

miin·2022년 9월 15일
0

Prisma

목록 보기
2/2
post-thumbnail
  • 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 : prisma에서 raw query를 사용할 수 있다 ```const users = await prisma.queryRawSELECT * 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,
  },
})
  • 조인(join)하기
  where: { email: "alice@prisma.io" },
  include: { posts: true },
});
  • 이름이 A로 시작하는 사용자 필터링
const result = await prisma.user.findMany({
  where: {
    name: {
      startsWith: "A",
    },
  },
});

레퍼런스

참고 블로그

참고 블로그

참고 블로그(CRUD)

0개의 댓글