구글에 떠도는 블로그의 영상을 보면서 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})
메소드를 활용하는 방법 또한 존재함을 확인하였다.