티스토리 뷰

findOne vs findAll

문제점

Sequelize의 쿼리 method 중 데이터 조회시 findOne 혹은 findAll을 사용하는데 이때 조회할 데이터가 없는 경우 두 방식에서 차이가 생긴다. findOne은 null을 findAll은 {}를 반환한다. null이 반환되는 경우 service나 controller 계층에서 잘 모르겠는 오류가 발생한다.

시도해본 것들

굳이 findOne을 쓰지 않고 findAll을 사용한다.

findOne을 쓰면서 repository 계층 내에서 if문을 통해 데이터가 없는 경우 {}를 반환하도록 한다

해결

두번째 방식으로 해결했다.

알게 된 점

Sequelize의 쿼리로 조회하는 방식에 저런 차이가 있다는 것을 알게 되었다. 하지만 근본적인 해결책은 아닌 것 같아서 뭔가 아쉬웠다. null을 반환하더라도 이를 그대로 활용할 수 있는 방법을 찾을 수 있으면 좋을 것 같다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함