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

tomyumgoong님의 프로필 이미지
tomyumgoong

작성한 질문수

mongoDB 기초부터 실무까지(feat. Node.js)

faker로 데이터 생성하기

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

작성

·

360

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로 변수명을 명확하게 해주는것도 좋아요

tomyumgoong님의 프로필 이미지
tomyumgoong

작성한 질문수

질문하기