在我的Sails.js应用中调用User.create
方法时,出现以下错误:
/Users/user/code/bt/tgein/node_modules/mongodb-core/lib/topologies/server.js:779 catch(err){process.nextTick(function(){throw err}); }
这是我的用户控制器的全部内容。
User.create(req.params.all(), function userCreated(err, user) {
// var userid = user.id;
// console.log(userid);
if(err) {
console.log(err);
req.session.flash = {
err: err.ValidationError
}
return res.redirect('/user/loginDetails');
}
var oldDateObj = new Date();
var newDateObj = new Date(oldDateObj.getTime() + 60000);
req.session.cookie.expires = newDateObj;
req.session.authenticated = true;
console.log(req.session);
// res.redirect('/user/profileSelection/?id=' + user.id);
// Saves user data into session variable
req.session.user = user;
res.redirect('/user/profileSelection/');
});
显然,请求的会话值未定义。这似乎是一些基本的事情没有发生的症状,但我不知道那是什么。
答案 0 :(得分:1)
req.session.cookie
未定义,您正在尝试将值设置为未定义的对象。
var oldDateObj = new Date();
var newDateObj = new Date(oldDateObj.getTime() + 60000);
if(!req.session.cookie)
req.session.cookie = {};
req.session.cookie.expires = newDateObj;
答案 1 :(得分:1)
我认为问题不在于会话,因为会话总是在sails应用程序中保留/定义。当您尝试保存数据时,可能存在问题。
答案 2 :(得分:0)
问题是我让会话存储试图通过我本地应用程序Table Abx
上的生产适配器,导致sessions.js
失败。