Подтвердить что ты не робот

Магазин сеансов Mongodb в Expressjs 4

В express 3 я использую connect-mongo для хранилища сеансов.

var mongoStore = require('connect-mongo')(express);

Но после того, как я переключился на выражение 4, это не сработает. Я получил эту ошибку:

Error: Most middleware (like session) is no longer bundled with Express and must be       installed separately. Please see https://github.com/senchalabs/connect#middleware.

Я вижу, что соединение было удалено из выражения 4. Как я могу продолжать использовать это или есть какие-либо хорошие библиотеки, которые я могу использовать для выражения 4. Спасибо.

4b9b3361

Ответ 1

Вам нужно установить пакет экспресс-сессии отдельно. Его можно найти на https://github.com/expressjs/session

Для запуска и запуска используйте следующие команды:

npm install --save express-session cookie-parser

а затем в файле server.js:

var express = require('express'),
    cookieParser = require('cookie-parser'),
    expressSession = require('express-session'),
    MongoStore = require('connect-mongo')(expressSession),
    app = express();

app.use(cookieParser());
app.use(expressSession({
     secret: 'secret',
     store: new MongoStore(),
     resave: false,
     saveUninitialized: true
}));

И наслаждайтесь

Ответ 2

Вы можете использовать connect-mongo в expressjs 4. Пример из README:

var session    = require('express-session');
var MongoStore = require('connect-mongo')(session);

app.use(session({
    secret: settings.cookie_secret,
    store: new MongoStore({
      db : settings.db,
    })
  }));

Ответ 4

проверьте этот модуль и примеры кода.

https://www.npmjs.org/package/express-sessions

var mongoose = require('mongoose');

mongoose.connect();

app.use(express.session({
    secret: 'a4f8071f-c873-4447-8ee2',
    cookie: { maxAge: 2628000000 },
    store: new (require('express-sessions'))({
        storage: 'mongodb',
        instance: mongoose, // optional
        host: 'localhost', // optional
        port: 27017, // optional
        db: 'test', // optional
        collection: 'sessions', // optional
        expire: 86400 // optional
    })
}));