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