AndrewLeonardi
AndrewLeonardi

Reputation: 3512

PassportJS: Edit user info

I'm using PassportJS. I'm trying to let users edit their email address if needed. This is the code I have which is currently not working.

Any advice? Thank you!

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
            });
        });
    });
});

Upvotes: 0

Views: 710

Answers (1)

Rowland
Rowland

Reputation: 1823

Consider using this and every thing will be fine

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
       });
     });
   }
}

Hope this helps!

Upvotes: 1

Related Questions