簡體   English   中英

如何使用 express-mysql-session 存儲我的 session MySQL

[英]How to store my session MySQL with express-mysql-session

請參閱下面的代碼。 它沒有在我的數據庫中存儲 session 。 我想不通。 我有執行文件 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);

});

它顯示為您正在使用 mssql-session-store (Microsoft SQL) 連接到 MySQL。
嘗試使用 npm package express-mysql-session:
https://www.npmjs.com/package/express-mysql-session

與 MySQL 和 MSSQL 一樣,SQL 和 SQL 之類的數據庫也有許多變體,因此重要的是您要准確使用所使用的數據庫。

您的線路(如下)應該是唯一的問題。 It is specifying the use of the Microsoft SQL session store package when you are trying to use the MySQL session store.

var MySQLStore = require('mssql-session-store')(session);

通過將其更改為

var MySQLStore = require('express-mysql-session')(session);

您指定使用 mysql session 商店(確保您先下載 NPM ZEFE90A8E604A676840E88D0 上面)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM