This is my object schema
var Message = mongoose.model('Message', {
name: String,
message: String,
votes: Number
})
I am trying to update the number of votes like this
app.put('/messages/:id', (req, res) => {
Message.findByIdAndUpdate({_id: req.params.id}, {votes: req.body.votes}).then(function(message){
res.send(message)
})
})
Let's say the original amount of votes is 1, and the requested amount of votes is 5. The put request will update the amount of votes to be 5. Instead I would like to add the requested amount of votes on top of the existing amount of votes. Therefore it would theoretically be 1 5 which is 6 votes.
Is there anyway I can preserve the existing amount of votes which I can then add the requested amount on top of?
CodePudding user response:
Consider using the $inc
property to increment the value of votes
rather than overwrite it.
Message.findByIdAndUpdate(req.params.id, { $inc: { votes: req.body.votes } })