-1
这是我的app.js代码,我将会话保存在mongoDB中。为什么我不能获得会话的价值?
const cookieParser = require('cookie-parser');
const cookieSession = require('cookie-session');
const session = require('express-session');
const mongoStore = require('connect-mongo')(session);
const db = mongoose.connect("mongodb://localhost/course");
app.use(cookieParser());
app.use(cookieSession({ //session
secret: "system",
store: new mongoStore({
mongooseConnection: db.connection,
collection: "sessions"
})
}))
当我想得到req.session.user,我得到未定义。 但我保存会话时,用户登录。
exports.fetchCourse = async (req, res) => {
console.log("session is: " + req.session.user);
if(req.session.user) {
const user = await User.findOne({_id: req.session.user._id}).populate("course");
console.log("course are: " + user.course.length);
res.status(200).send({
code: 1,
data: user.course,
msg: "获取全部课程"
})
}
}
是的,但是当我用快递会话,而不是cookieSession,它仍然不工作。 – gyyin
我发现有两个不同的sessionID。当我发送请求时,sessionID与登录的sessionID不同 – gyyin