인프런 커뮤니티 질문&답변

으하핳님의 프로필 이미지
으하핳

작성한 질문수

리액트로 나만의 블로그 만들기(MERN Stack)

(11) UserRoutes

mongoDB관련

작성

·

153

0

강의 너무 잘 듣고 있습니다!
jwt.sign({id : user.id},JWT_SECRET,{expiresIn:'1h'})
mongodb에서 모델 생성시 아이디가 _id,
이런식으로 되는줄 알았는데요 user.id로 사용해도 상관이 없는지
다른 method들에서도 _id가 아닌,id로 사용이 가능한지 궁금합니다!

답변 1

0

싸플님의 프로필 이미지
싸플
지식공유자

mongoose는 기본적으로 스키마 각각의 _id에 대응되는 가상의 id값을 할당합니다. 

반면 _id는 기본적으로 스키마에 배정되는 값으로 우리가 일반적으로 ID라고 알고 있는 것입니다. 

즉, id는 스키마의 _id를 참조하는 값으로 

-> _id바로 불러서 사용할 때   .id   형태로 사용합니다. 따라서 user.id라고 하는 것은 바로 User 모델의 _id를 바로 불러올때 사용하는 것입니다. 그래서 아마도 user._id로 작성하시면 작동이 안되는 것을 보실 수 있을 것 입니다.  _id는  바로 못불러오거든요~~

따라서 다른 method에서도 _id를 바로 불러 오실때 .id 를 사용하실 수 있습니다. 

※ 참고 : https://mongoosejs.com/docs/guide.html#id

으하핳님의 프로필 이미지
으하핳

작성한 질문수

질문하기