-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