Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 实施";硬币;发送给passportjs上的我的用户并更改他们_Javascript_Node.js_Mongodb_Passport.js - Fatal编程技术网

Javascript 实施";硬币;发送给passportjs上的我的用户并更改他们

Javascript 实施";硬币;发送给passportjs上的我的用户并更改他们,javascript,node.js,mongodb,passport.js,Javascript,Node.js,Mongodb,Passport.js,我实际上有两个问题。一个是向我的用户对象添加其他信息的最佳方式是什么?我有一个非常简单的passportjs登录/注册系统,我想扩展并添加一些东西,比如硬币和其他特定于用户帐户的东西。目前,我刚刚添加了一个名为“硬币”的新属性以及密码/电子邮件等内容 我的第二个问题是关于我的用户对象的coins属性,我如何编辑它?目前,我只是有一个简单的请求,为用户添加一枚硬币,但它不起作用 router.get('/coin', function(req, res) { User.getUserByU

我实际上有两个问题。一个是向我的用户对象添加其他信息的最佳方式是什么?我有一个非常简单的passportjs登录/注册系统,我想扩展并添加一些东西,比如硬币和其他特定于用户帐户的东西。目前,我刚刚添加了一个名为“硬币”的新属性以及密码/电子邮件等内容

我的第二个问题是关于我的用户对象的coins属性,我如何编辑它?目前,我只是有一个简单的请求,为用户添加一枚硬币,但它不起作用

router.get('/coin', function(req, res) {
    User.getUserByUsername(req.user.username, function(err, user){
        user.coins = user.coins + 1
        console.log(user.coins)
   });
    res.redirect('/')
});

每次我按下按钮(该按钮调用/coin),它只是控制台日志记录1

您正在加载用户,增加一个coin,但您没有保存它。因此,每次调用函数时,都要加载用户的前一个状态

在重定向之前,您应该调用
User.update
或任何api函数来保存用户数据

router.get('/coin', function(req, res) {
    User.getUserByUsername(req.user.username, function(err, user){
        user.coins = user.coins + 1
        User.update(user) // Stores modified data.
        console.log(user.coins)
   });
    res.redirect('/')
});