按照githhub上使用koa-session-mongoose,將session存入數據庫,卻發現無法給session寫入值。
koa-session-mongoose的使用示例:
async function init (uri) => {
const connection = await mongoose.connect(uri, { useMongoClient: true });
app.use(session({
store: new MongooseStore({
collection: 'appSessions',
connection: connection,
expires: 86400, // 1 day is the default
name: 'AppSession'
})
}, app));
}
按照配置卻一直設置不了session,最後查看了源碼,發現這個配置示例應該是有問題的,修改好代碼如下:
mongoose.connect("mongodb://some_host/some_db", { useNewUrlParser: true });
app.use(session({
store: new MongooseStore({
collection: 'appSessions',
// 這個是關鍵,connection的值是mongoose
connection: mongoose,
expires: 86400, // 1 day is the default
name: 'AppSession'
})
}, app));
各插件的版本如下:
"koa": "^2.5.2",
"koa-session": "^5.8.2",
"koa-session-mongoose": "^2.0.5",