Homchenkokostya
@Homchenkokostya

Сохронение сесии в NodeJs?

Подскажите как правильно сохранять сессию в NodeJs, читал что по умолчанию в express есть работа с сессиями, но как с ней работать нигде не описано. Или же может посоветуете, что по лучше, может какой дополнительный пакет для работы с сессиями.
  • Вопрос задан
  • 3832 просмотра
Пригласить эксперта
Ответы на вопрос 1
Homchenkokostya
@Homchenkokostya Автор вопроса
Вот мой код (не рабочий) выдает ошибку
TypeError: Cannot read property 'number' of undefined

Файл app.js
var express = require('express');
var session = require('express-session');
var SessionStore = require('express-mysql-session');
var http = require('http');
var path = require('path');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'theme'));
app.set('view engine', 'ejs');

app.use(express.bodyParser());
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.cookieParser());

var options = {
    host: '127.0.0.1',
    port: 3000,
    user: 'nodejs',
    password: 'c5c58f',
    database: 'nodejs'
}

app.use(session({
    key: 'session_cookie_name',
    secret: 'session_cookie_secret',
    store: new SessionStore(options)
}))

app.get('/', function(req, res, next) {
    req.session.number = req.session.number + 1 || 1;
    console.log(req.session.number)
})

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});


В чем может быть ошибка, я уже вторую неделю не могу решить эту проблему. Не ужели в NodeJs нельзя реализовать сохранение сессии в БД MySql. Везде приводят пример с сохранением в MongoDB, может действительно NodeJs на столько ограничен.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы