Reputation:
Im getting an error when i try to set a session once user has been created: "Cannot set property 'user' of undefined".
exports.signUp=function(req,res){ // singup
new user({ //user model
username: req.body.username, // req body
}).save(function(error,user){ //After a successful save of user
**req.session.user=user.id;** // here is the error after a successful save
}
});
}
Upvotes: 0
Views: 1847
Reputation: 27
exports.signUp=function(req,res){ // singup
new user({ //user model
username: req.body.username, // req body
}).save(function(error){
//**req.session.user=user.id;**
// save function doesn't return user
// you can use this approach
if(error){
res.json({error:"cannot save"})
}
else{
req.session.user = req.body.username;
}
}
});
}
Upvotes: 0
Reputation: 333
Have you used a middleware something like this in your node app?
app.use(session({
secret: 'botnyuserdetails', // session secret
resave: true,
saveUninitialized: true
}));
Upvotes: 1