mniam-store

session store for connect middleware using mniam mongo access layer


Keywords
mniam, connect, session, mongodb
License
MIT
Install
npm install mniam-store@4.0.0

Documentation

NPM version Build Status Dependency Status

Mniam Store

mniam-store is a connect session store backed by mongodb

mniam is used to access as a access layer which means no async on init, simple configuration and seamless connection sharing if your app is using DB

mniam-store is compatible with express-session middleware

Installation

  $ npm install mniam-store

Options

  • db existing database created with mniam (can be shared with other parst of the app)
  • collection name of the mongo collection to keep sessions in (default: sessions)
  • maxAge - (seconds) specifies how long sessions should stay in DB - should be set-up to a value slightly larger than cookie.maxAge - defaults to 1 day

Usage

Similar to other connect session stores.

var connect = require('connect');
var mniam = require('mniam');
var MniamStore = require('mniam-store')(connect);

// use DB for mniam store only or share it with other parts of the app
var db = mniam.db('mongourl://localhost/database');

connect().use(connect.session({
  store: new MniamStore({
    db: db
  })
}));

Upgrading from 0.x

Since mniam-store is using mongo TTL index sessions created with previous versions will not expire automatically. We need to time stamp old sessions after the upgrade:

db.sessions.update(
  {_mod: {$exists:0}},
  {$currentDate:{_mod:true}},
  {multi:true}
);

And drop old index in expires:

db.sessions.dropIndex({expires:1});

License

MIT