[Nest.js] Custom Repository

JungHoon Han·2023년 2월 21일
0

내일배움캠프

목록 보기
74/78
post-thumbnail

파일명.repository.ts

커스텀 리파짓토리에서 오름차순, 내림차순과 같은 정렬을 사용할때 여러 방법이있다.

1. await this.createQueryBuilder()

await this.createQueryBuilder()
  .select('aliasName')
  .from(entity타겟, 'aliasName') // 여기 as를 select/ orderBy에 사용
  .orderBy('aliasName.필드명', 'DESC') // 반대는 'ASC'
  .getMany() // 여러개 가지고 올때. 한개만 가지고 오고싶으면 getOne()
  // .getQuery() => 내가 작성한 쿼리를 raw query 문으로 확인할 수 있는

2. await this.find({})

await this.find({
  order: {
    필드명: 'DESC',
  }
})

오늘 커스텀 리파짓토리를 공부하며 막혔던 부분에서 배운건 위에 내용과 같다.
find를 사용하면 훨씬 간결하게 사용할 수 있지만, createQueryBuilder같은 사용법도 나중에 언제 사용할지 모르니 알아두어야 한다.
그리고 find를 repository가 아닌 service단에서 사용하면 훨씬 더 간결해진다.

항상 공식문서를 참고하는 버릇을 들여보자.
예전에는 공식문서를 봐도 전혀 이해가 되지않아 보지 않았지만, 이제 어느정도 이해할 수 있는것 같으니 두려워하지 말고 공식문서를 보자.
typeORM orderBy 사용법 관련 공식문서

profile
Node.js 주니어 개발자

0개의 댓글