반응형
Mongoose에서 Number 값을 증가시키려면 어떻게 해야 합니까?
StackOverflow의 사람들, 나는 어떻게 증가시키는지에 대한 질문에 불타고 있습니다.
Mongoose의 숫자 값?아래 코드를 시도해 보았지만 작동하지 않습니다.양식을 제출할 때 하나씩 값을 올리려고 합니다.내 코드는 다음과 같습니다.
app.post('/like', function (req, res) {
var id = req.body.id;
var query = {_id: id};
var post = Meme.findOne(query);
Meme.findOneAndUpdate(post, post.likes: post.likes+1)
});
당신의 귀중한 도움에 정말 감사드립니다!
사용할 수 있습니다.$inc
이를 위하여
사용해 보십시오.
var id = req.body.id;
Meme.findOneAndUpdate({_id :id}, {$inc : {'post.likes' : 1}}).exec(...);
$inc에 대한 자세한 내용은 MongoDB $inc 설명서를 참조하십시오.
mongoose 버전 5에서는 "useFindAndModify" 옵션이 추가로 필요합니다.
// Make Mongoose use mongoDB's `findOneAndUpdate()`. Note that this option is `true`
// by default, you need to set it to false.
mongoose.set('useFindAndModify', false);
Meme.findOneAndUpdate( {_id: res._id},
{$inc : {'UID' : 1}},
{new: true},
function(err, response) {
// do something
});
Meme.findOneAndUpdate({ _id: res._id }, { $inc: {'post.like': 1 } }, {new: true },function(err, response) {
if (err) {
callback(err);
} else {
callback(response);
}
당신도 이것을 시도할 수 있습니다, 저는 게시물을 좋아하려고 이 쿼리를 사용했습니다.
app.put('/like', (req, res) => {
Meme.findByIdAndUpdate(req.body.postId,{
$push:{likes: req.user._id}
}, {
new: true
}).exec((err, result) => {
if(err){
return res.status(400).json({error: err})
}else{
res.json(result)
}
})
})
언급URL : https://stackoverflow.com/questions/41444213/how-do-i-increment-a-number-value-in-mongoose
반응형
'source' 카테고리의 다른 글
Bash에서 파일 경로를 어떻게 정규화합니까? (0) | 2023.05.12 |
---|---|
Angular에서 확인 대화 상자를 만드는 쉬운 방법은 무엇입니까? (0) | 2023.05.12 |
iOS용 동적 라이브러리를 구축하고 런타임에 로드할 수 있습니까? (0) | 2023.05.12 |
Excel의 Form Controls와 ActiveX Controls의 차이점 (0) | 2023.05.12 |
클래스를 사용되지 않음으로 표시하는 방법은 무엇입니까? (0) | 2023.05.12 |