使用节点js和express-mysql-session将会话存储在mysql数据库中不起作用

问题描述

我是Node JS的新手,我使用会话制作了一个登录系统 我正在尝试将会话数据存储在数据库中(我正在使用Xampp和PHPmyadmin) 一切正常,req.session在我的数据库自动创建的所有应用程序和会话表中都可用 但是会话数据未存储在我的数据库中,并且会话表为EMPTY 而且我不知道为什么?有什么东西错过吗?

const app = express();
const dotenv = require('dotenv');
const session = require('express-session');
const MysqLStore = require('express-MysqL-session')(session);
const bcrypt = require('bcrypt');
const bodyParser = require('body-parser');
const uuid = require('node-uuid');
const cookieParser = require('cookie-parser')

const port = process.env.port || 3100;
app.listen(port,(err)=> {
    if (err) {
        throw err;
    }else {
        console.log('LISTENING');
    }
});
app.use(cookieParser());
app.use(bodyParser.urlencoded({ extended: false })); 
const connection = require('./db');
app.set('view engine','ejs');
const sOpt = {
    host: 'localhost',user: 'root',password: '',database: 'pharma-app',}
const sessionStore = new MysqLStore(sOpt);
app.use(session({
    strore: sessionStore,name: 'MyStrange-Cookie',secret: 'pharma-app',/*genid: function(req) {
        return uuid() // use UUIDs for session IDs
       },*/
    resave: false,saveUninitialized: true,cookie: {
        maxAge: 60000
    }
  }))

app.get('/',(req,res)=> {
    console.log(`Session . User ID ${req.session.userid}`);
    if (req.session.userid) {
        res.render('index',{id: req.session.userid});
   }else {
        res.render('index',{id: 'login to see the user data'})
   }
   console.log(req.session);
})
app.post('/signin',res)=> {
    req.session.userid = '456545654';
    console.log(req.sessionID);
    res.redirect('/');
})```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)