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

760kry@gmail.com님의 프로필 이미지

작성한 질문수

Node.js 교과서 - 기본부터 프로젝트 실습까지

Mongoose 쿼리 수행하기

post 부분 질문이요

해결된 질문

작성

·

147

0

router.post('/', (req, res, next) => {

   const post = new Comment({

      commenter: req.body.id

   })

})

이부분에서 스키마를 ObjectId를 설정했는데 여기서 
req.body.id 는 예를들어 email id를 말하는 건가요?
req.body.id는 사용자가 작성해서 넣어야 하는 부분인데..
email id를 넣으면 새로 생성하는 부분에서  그럼 User부분의 _id를 찾아 ObjectId로  들어간다는건가요? 이부분이 이해가 가질 않네요 .. 

form 부분에서 무엇을 save를 하는지 이해가 가지 않습니다 ㅜ 

답변 4

0

아아 이제 이해했습니다 ..! 스키마 작성때 `constructor`를 키값으로 작성했더니 ObjectId를 넣어도 에러가 나더라구요 .. `constructor`를 키값을 사용하면 안되는지 모르고 이것저것 다해봤네요 .. 답변 감사합니다!

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아뇨. 회원가입을 하면 한 사람한테 objectId가 하나씩 배정됩니다. 아이디는 그 아이디를 말하는겁니다. 이메일이랑은 상관없어요.

0

그러면 예를 들어서 id@email.com 을 req.body.id로 넘겨준다면  id@email.com를 commenter에서 ObjectId로 변환한다는 걸로 이해하는게 맞나요? ㅠ 사용자가 ObjectId를 알아요하나요? 스키마작성때 ObjectId를 사용하니 계속 handlecallback? 에러가 나서요 뭔가 잘못 작성된거 같은데 이해가 안가서 어딜 고쳐야 할지 감이 잡히질 않습니다ㅠ  

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

프론트에서 id로 뭘 넘겨주었는지 확인해보시면 됩니다. 댓글 작성자의 아이디를 넘겨주었습니다. 그게 req.body.id로 전달된 거고 commenter 필드로 저장되는 것입니다.