iamkanguk.dev

[NestJS] TypeORM에서 skip과 take 버그 기록! 본문

Framework/NestJS

[NestJS] TypeORM에서 skip과 take 버그 기록!

iamkanguk 2023. 12. 20. 06:14

보통 많이 사용하는 createQueryBuilder에서 getRawMany 메서드와 getMany 메서드가 있다는 것을 Nest 개발자 분들은 알고 계실 것이다. skip과 take는 pagination 작업을 처리할 때 주로 적용하는 option이다.

 

하지만 skip과 take는 getRawMany에서 적용되지 않는다고 한다. TypeORM의 createQueryBuilder에서 getRawMany 메서드는 Raw Data를 반환하는데 이 때 limit와 offset을 적용시켜주어야 한다고 한다.

 

필자는 skip과 take이 문제가 있을지 전혀 상상하지 못하고 코드 레벨에서 실수가 있었는지 계속 봐서 시간이 많이 소요되었는데 다른 분들은 이 포스팅을 보면서 삽질을 안하셨으면 좋겠다는 생각이 든다!

 

좋은 자료를 공유해주신 포시코딩님 감사합니다 :)


참고자료

- https://4sii.tistory.com/663

 

[NestJS] TypeORM take, skip 버그

.getRawMany() 를 사용할 때는 take와 skip이 제대로 동작하지 않는 문제 발견. 대신 limit, offset을 사용하면 잘 작동한다. 이전에 limit, offset 대신 take, skip을 사용하라는 걸 어디서 본 거 같은데 .getMany()

4sii.tistory.com