请参阅下面的代码。它不会在我的数据库中存储会话。我想不出来。我有可执行文件app.js。我已经设置并运行了所有的东西,但是在数据库中存储会话不起作用..我之前也发过同样的问题,但是没有成功。
var express = require('express');
var mysql = require('mysql2');
var path = require('path');
var session = require('express-session');
var port = 3000;
var app = express();
var MySQLStore = require('mssql-session-store')(session);
app.use(session({
secret: 'tee tee',
resave: false,
saveUninitialized: false,
store: new MySQLStore(options)
}));
var connection = mysql.createConnection ({
host: 'localhost',
user: 'root',
password: '....',
database: 'node'
});
connection.connect(function(error) {
if(error) {
throw error;
} else {
console.log("We are now successfully connected with mySQL");
}
});
var options = {
connection: connection,
ttl: 3600,
reapInterval: 3600
};
app.get('/', (req, res) => {
res.sendFile('home.html', {
root: path.join(__dirname, './views')
});
});
app.listen(port, (req, res) => {
console.log('the server is running, ' + ' please, open your browser at http://localhost:%s', port);
});发布于 2021-02-24 14:38:00
它显示为您正在使用mssql-session-store (Microsoft SQL)连接到MySQL。
https://www.npmjs.com/package/express-mysql-session
像MySQL和MSSQL一样,有许多不同的SQL和SQL类似的数据库,所以你必须精确地使用你正在使用的数据库。
你的线路(下面)应该是唯一的问题。它指定在您尝试使用MySQL会话存储区时Microsoft SQL会话存储区包的使用。
var MySQLStore = require('mssql-session-store')(session);通过将其更改为
var MySQLStore = require('express-mysql-session')(session);指定mysql会话存储的使用(确保先下载上面的NPM包)
https://stackoverflow.com/questions/65547266
复制相似问题