PassportJS:编辑用户信息

时间:2017-07-18 19:32:28

标签: node.js express passport.js passport-local

我正在使用PassportJS。我想让用户在需要时编辑他们的电子邮件地址。这是我目前无法使用的代码。

有什么建议吗?谢谢!

app.post("/editprofile", middleware.isLoggedIn, function(req, res, next){
    User.update({ id: req.session.passport.user }, {
        email: req.body.email,
    }, function(err, user) {
        if (err) return next(err);
        User.findById(req.user._id, function(err, user) {
            if (err) return next(err);
            console.log(err)
            return res.render('landing.ejs', {
                user:user
            });
        });
    });
});

1 个答案:

答案 0 :(得分:1)

考虑使用这个并且每件事都没问题

app.post("/editprofile", middleware.isLoggedIn, function(req, res, next){
  User
    .findOneAndUpdate({ _id: request.session.passport.user }, req.body.email)
    .exec(function(err, user) {
       if (err) return res.render(/* Your error template here */, {
         err: err.message
       };
       return res.render('landing.ejs', {
         user: user
       });
     });
   }
}

希望这有帮助!