답변 1
2
안녕하세요, k0502s님!
강의에서 toHexString()
을 적용하기 전에 발생한 에러는 아래와 같습니다.
Error: Expected "payload" to be a plain object.
해석하자면 "payload"가 plain object 이어야 한다는 뜻입니다.
즉, jwt.sign(payload, secretKey)
함수에서 payload는 string 형식이어야 합니다.
하지만, mongodb에서 생성된 user._id로 사용한 _id는 string 형식이 아닙니다.
따라서 toHexString()
메서드를 활용해서 형변환을 해주어야 합니다.
toHexString()
메서드는 아래와 같습니다.
Return the ObjectID id as a 24 byte hex string representation.
해석해보면 ObjectID 형태의 id를 24바이트의 hex 문자열로 바꾸어 리턴해주는 함수입니다.
혹시 궁금하신 점이 있다면 댓글 남겨주세요.
도움이 되었으면 좋겠습니다. :)
한가지 질문을 드립니다.
DB에 있는 _id를 어떻게 user 모델에서 가지고 올수 있는거죠?
user 모델에는 _id가 정의 되어 있지 않는데 그 값을 어떻게 가지고 오는건지 알려주시면 감사하겠습니다.