如何使用nodejs更新mongodb中的数据

时间:2018-03-13 11:03:28

标签: node.js mongodb mongoose

您好我正在尝试使用nodejs更新mongodb中的数据。我想在用户创建交易后将总数据更新为+1。但我对此一无所知。因为没有价值回来。像req.body,我可以传入。

var UserSchema = new mongoose.Schema({
    total: {type: Number, default: 0}
})

UserSchema.plugin(passortLocalMongoose);
module.exports = mongoose.model("User", UserSchema )

app.post('/bitcoin', isLoggedIn, function(req, res) {
        client.createTransaction({'currency1' : 'USD', 'currency2' : 'BTC', 'amount' : 500},function(err,result){
        if(err){
            console.log(err)
        } else {
            User.findByIdAndUpdate(req.params.id,{total: +1}, function(error, updated){
                if(error){
                    console.log("error occured " + error);
                    return res.redirect("/dashboard")
                } else {
                    console.log('total updated' + updated)
                }
            })
            var coinPayment = result;
             res.redirect(coinPayment.status_url)
        }
      });
    }
})

它下面的console.logs并没有为此更新任何解决方法

total updated null

1 个答案:

答案 0 :(得分:3)

试试这个,你没有在params中声明id。

app.post('/bitcoin/:id',function(req, res){ /* Some stuff */})

更新查询

User.update({_id : req.params.id},{$inc: {total:1}})