해결된 질문
작성
·
175
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