TypeOrm findOne()에러

권태형·2023년 4월 11일
1

NestJS 연습

목록 보기
5/19

구글에 떠도는 블로그의 영상을 보면서 NestJS 프로젝트 작성연습을 하고 있는데

똑같이 typeorm메소드 findOne()을 사용해서 코드를 작성하면 동작시키기도 전에 에러를 반출한다.

당연히 id로 파라미터를 받았지만 repository로 넘겨주는 인자가 없어서 그러려니 햇는데 동영상에서는 잘만 동작하더라..

따라서 id를 넣어줬지만. 또 에러를 반출했다.

잉? 공통적인 속성이 없다? 내가 findOne()을 잘못 쓰고있는지 동영상에서 잘못쓰고있는지 공식홈페이지를 확인해보기로 했다.

공식홈페이지의 findOne메소드의 예시샘플은 아래와 같다

userRepository.findOne({
    where: {
        id: 1,
    },
    lock: { mode: "optimistic", version: 1 },
})

이처럼 findOne은 where문을 통한 {id:id}객체를 받아오는 것이 기본적인 동작으로 확인되었다.

동영상강의에서는 동작이 정상적으로 되었지만, 아마 동영상을 찍은 이후에 typeorm이 업데이트 되어 메소드의 사용방식이 변경된것 같다.

따라서 findOne({where:{id}})로 변경하여 문제를 해결하였다.

❗❗❗하나 더! 어짜피 ID값만 받아와서 확인하는 경우에는 findOne( )메소드 이외에 findOneBy({id})메소드를 활용하는 방법 또한 존재함을 확인하였다.

profile
22년 12월 개발을 시작한 신입 개발자 ‘권태형’입니다. 포스팅 하나하나 내가 다시보기 위해 쓰는 것이지만, 다른 분들에게도 도움이 되었으면 좋겠습니다. 💯컬러폰트가 잘 안보이실 경우 🌙다크모드를 이용해주세요.😀 지적과 참견은 언제나 환영합니다. 많은 댓글 부탁드립니다.

0개의 댓글