-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
views 카운터를 올리고 싶은데 어디서 올리면 될까요?
21.10.20 22:32 작성 조회수 129
0
기능 중에 모델에는 views가 있는데
기능 구현에는 views 올려주는게 없어서 일단 구현하려고 하는데
Product.find({ _id: { $in: productIds } })
.populate('writer')
.exec((err, product) => {
if (err) return res.status(400).send(err)
product.views++;
product.save();
return res.status(200).send(product)
})
이런식으로 서버단에서 올리려고 하면 save 함수도 에러가 나고
카운터도 올라가지 않아서요 ㅠㅠ
답변을 작성해보세요.
1
John Ahn
지식공유자2021.10.22
안녕하세요 !
if (type === "single") {
Product.findOneAndUpdate({ _id: productIds }, { $inc: { "views": 1 } }, (err, doc) => {
if (err) return res.json({ success: false, err });
});
}
이런식으로 해주시면 됩니다 !!!
수고하세요 ㅎㅎㅎ
김트위스트
질문자2021.10.26
감사합니다. 하나 더 하는 식으로 했는데 이런식으로 조건을 조정해줘도 되는군요.
여기에 sleep 함수나 cookieparser를 이용해 조회수 중복처리도 해보도록 하겠습니다. 감사합니다.
답변 1