파일명.repository.ts
커스텀 리파짓토리에서 오름차순, 내림차순과 같은 정렬을 사용할때 여러 방법이있다.
await this.createQueryBuilder()
.select('aliasName')
.from(entity타겟, 'aliasName') // 여기 as를 select/ orderBy에 사용
.orderBy('aliasName.필드명', 'DESC') // 반대는 'ASC'
.getMany() // 여러개 가지고 올때. 한개만 가지고 오고싶으면 getOne()
// .getQuery() => 내가 작성한 쿼리를 raw query 문으로 확인할 수 있는
await this.find({
order: {
필드명: 'DESC',
}
})
오늘 커스텀 리파짓토리를 공부하며 막혔던 부분에서 배운건 위에 내용과 같다.
find를 사용하면 훨씬 간결하게 사용할 수 있지만, createQueryBuilder같은 사용법도 나중에 언제 사용할지 모르니 알아두어야 한다.
그리고 find를 repository가 아닌 service단에서 사용하면 훨씬 더 간결해진다.
항상 공식문서를 참고하는 버릇을 들여보자.
예전에는 공식문서를 봐도 전혀 이해가 되지않아 보지 않았지만, 이제 어느정도 이해할 수 있는것 같으니 두려워하지 말고 공식문서를 보자.
typeORM orderBy 사용법 관련 공식문서