• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

선생님 질문이 있습니다~!

20.10.18 18:04 작성 조회수 117

0

강의 14:20 즈음,

server/routes/api/post.js 작성 중에,

87번 코드와,

103번 코드에서 약간에 차이가 보이는 듯 한데,

다른 코드와는 다르게 유독 103번 줄에는

await Post.findByIdAndUpdate(newPost._id, {

    $push: { } 없이,

    category: findResult._id

})

이렇게 코딩이 되어있는데, 혹시 $push: {} 없이 작성을 하더라도

나중에 완성되고 나서 작동하는데는 문제가 없나용~?

(항상 잘 수강하고 있습니다 친절한 강의 감사드려요~~^^)

답변 2

·

답변을 작성해보세요.

1

[요약] $push는 기존 배열에 값을 넣는 것이고, 또한 현재 해당 구문은 1개의 포스트의 값을 작성중임을 기억하시면 됩니다. 

else 이후 구문은 카테고리 찾는 값이 있을때를 의미합니다. 

하지만 $push를 왜 안쓰냐고 하셨죠? $push는 javascript 문법과 비슷하게 기존 배열에 값을 추가해서 넣을때를 의미합니다. 그래서 

Category와 User 모델 입장에서는 만들어지는 포스트의 id를 배열에 넣어야 하니 $push가 쓰이는 것이고, Post 모델입장에서는 1개의 포스트 모델에서 Category 값을 찾았으니, 이를 업데이트만 해주면 되기에 $push가 사용되지 않는 것입니다. 

0

SmileRush님의 프로필

SmileRush

질문자

2020.10.21

충분한, 친절한 답변 감사합니다~^^!