Saf*_*yal 12 mongoose mongodb node.js
StackOverflow的人,我正在讨论这个问题,如何增加
Mongoose中的Number值?我已经尝试了下面的代码,虽然它不起作用.我试图在提交表单时将值增加1.以下是我的代码:
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)
});
Run Code Online (Sandbox Code Playgroud)
非常感谢您的宝贵帮助!
Rav*_*rti 37
你可以用它$inc来达到这个目的.
试试这个:
var id = req.body.id;
Meme.findOneAndUpdate({_id :id}, {$inc : {'post.likes' : 1}}).exec(...);
Run Code Online (Sandbox Code Playgroud)
有关$ inc的更多信息,请阅读MongoDB $ inc文档
小智 8
猫鼬版本 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
});
Run Code Online (Sandbox Code Playgroud)
Meme.findOneAndUpdate({ _id: res._id }, { $inc: {'post.like': 1 } }, {new: true },function(err, response) {
if (err) {
callback(err);
} else {
callback(response);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13423 次 |
| 最近记录: |