• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

mongoose v6 공지하신거 적용 했습니다. blog 저장할때, blog.user 필드에 user 도큐먼트 전체를 복사해서 저장하는데 맞나요?

23.02.05 02:30 작성 조회수 305

0

blog.user 필드에 user 도큐먼트 전체를 복사해서 저장되도록 되었습니다.

blog.user 필드에는 ObjectId 가 저장되어야 하는건지, 아니면 user 도큐먼트 값을 그대로 복사한 값이 저장되어야 하는건지 궁금합니다

답변 1

답변을 작성해보세요.

1

mongoose schema에서 blog.user를 ObjectId로 정의하셨다면 blog.user = user (document) 이렇게 했을 경우 user document가 저장되는게 아니라 mongoose가 user document에서 _id를 추출해서 blog.user에 입력해줍니다. 이런식으로도 가능하다는 차원에서 보여드렸는데요. 코드상에서 더 "명확하게" 하기 위해서 blog.user = user._id로 하는게 좋은거 같아요. 그리고 보통 아이디를 저장함에도 불구하고 blog.userId로 안하고 blog.user로 많이 하긴 하는데요(populate로 _id를 문서로 대체시킬거니깐요). 근데 mongoose 자체 populate기능을 활용하지 않을거라면 blog.userId로 변수명을 명확하게 해주는것도 좋아요