• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

new Comment

21.09.25 01:05 작성 조회수 166

0

안녕하세요 선생님. 수업 잘 듣고 있습니다! 처음으로 질문이 생겨서 질문을 등록하게되었습니다.

12:10 에서 const comment = new Comment 이렇게

만들어주신 뒤에 comment 를 그 다음줄에서 사용하였는데

이 부분에서 의문이 생겨서 질문드립니다.

다른 routes 폴더들을 보았을 때,

router.post("/subscribe", (req, res) => {
const subscribe = new Subscriber(req.body);

subscribe.save((err, doc) => {
if (err) return res.status(400).json({ success: false, err });
res.status(200).json({ success: true, doc });
});
});
 

이렇게 생성해서 사용하는 것이 있고

 
router.post("/unSubscribe", (req, res) => {
Subscriber.findOneAndDelete({
userTo: req.body.userTo,
userFrom: req.body.userFrom,
}).exec((err, doc) => {
if (err) return res.status(400).json({ success: false, err });
res.status(200).json({ success: true, doc });
});
});

이렇게 모델 자체를 바로 사용하는 것이 있는데

이 둘의 차이점은 어떤것일까요?

 

-------------------------------------------------------

그리고 또 exec 부분에서 err 뒤에 넘겨주는 것들은 사용자가 임의로 지정하는 것일까요? 어디서 정의된 것인지 헷갈릴때가 많네요 ㅠ

Subscriber.find({ userFrom: req.body.userFrom }).exec(
(err, subscribeInfo) => {
if (err) return res.status(400).send(err);

let subscribedUser = [];

subscribeInfo.map((subscriber, i) => {
subscribedUser.push(subscriber.userTo);
});

//찾은 사람들의 비디오를 가지고 옴
Video.find({ writer: { $in: subscribedUser } })
.populate("writer")
.exec((err, videos) => {
if (err) return res.status(400).send(err);
res.status(200).json({ success: true, videos });
});
}
);

예를 들어 이 코드에서

exec 뒤에 err , subsribeInfo

map 뒤에 subscriber, i

exec 뒤에 err, videos 같은것이요!!

답변 1

답변을 작성해보세요.

0

cimo De님의 프로필

cimo De

2021.12.05

해결 하셨나요?? 한참 지났지만..

const comment = new Comment 인 부분은 모델을 이용해서 document instance를 생성하는 과정입니다 저는 비유적으로 데이터베이스의 Comment라는 폴더 안에 comment라는 파일을 생성한다는 느낌으로 이해했어요! document가 생성될 때는 모델을 만들 때 정의된 Schema의 규칙을 따라 생성됩니다

모델 자체를 사용하는 경우는 데이터베이스 안에서 Comment 모델의 특정 조건에 해당하는 document를 찾는 과정입니다 폴더 안에서 이미 존재하는 파일을 찾는것과 비슷하다는 식으로 저는 이해했습니다.