source

Mongoose에서 Number 값을 증가시키려면 어떻게 해야 합니까?

ittop 2023. 5. 12. 22:42
반응형

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

반응형