UNPKG

connect-mongo

Version:

MongoDB session store for Express and Connect

69 lines (60 loc) 1.55 kB
const express = require('express') const mongoose = require('mongoose') const session = require('express-session') const MongoStore = require('connect-mongo') // App Init const app = express() const port = 3000 // Starting Server app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) }) // Mongoose Connection const appDBConnection = mongoose .createConnection('mongodb://root:example@127.0.0.1:27017', { useNewUrlParser: true, useUnifiedTopology: true, }) .then((connection) => { console.log('Connected to AppDB.') return connection }) const sessionDBConnection = mongoose .createConnection('mongodb://root:example@127.0.0.1:27017', { useNewUrlParser: true, useUnifiedTopology: true, }) .then((connection) => { console.log('Connected to SessionsDB.') return connection }) // Session Init const sessionInit = (client) => { app.use( session({ store: MongoStore.create({ client: client, mongoOptions: { useNewUrlParser: true, useUnifiedTopology: true, }, }), secret: 'hello', resave: false, saveUninitialized: false, cookie: { maxAge: 24 * 60 * 60 * 1000 }, }) ) } // Router Init const router = express.Router() router.get('', (req, res) => { req.session.foo = 'bar' res.send('Session Updated') }) (async function () { const connection = await sessionDBConnection const mongoClient = connection.getClient() sessionInit(mongoClient) app.use('/', router) })()