Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
SessionStorage for connect's session middleware
tree: b15813720c

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
example
lib
tests
.gitignore
Makefile
Readme.md
index.js
package.json

Readme.md

connect-mongodb

connect-mongodb is a mongoDB session store backed by node-mongodb-native.

Originally written by dvv

Version 1.*

This version is not compatible with 0.* versions. Now you must pass a mongodb connection, or server configuration. On updating, i recomment to delete your current sessions collection data.

Installation

via npm:

$ npm install connect-mongodb

Options

To start connect-mongodb, you have to pass instances of select node-mongodb-native classes, thus permitting the usage of existing connections or server configurations.

Using an existing connection:

  • db Existing connection/database reference (instance of mongodb.Db)

Or with a server configuration:

  • server_config Existing server configuration (may be an instance of either mongodb.Server, mongodb.ServerPair, mongodb.ServerCluster, mongodb.ReplSetServers) - review node-mongodb-native docs.

Other options:

  • collection MongoDB collection to host sessions. 'sessions' by default
  • reapInterval ms to check expired sessions to remove on db
  • username To authenticate your db connection
  • password To authenticate your db connection

Example

You have a complete example on example/index.js.

var connect = require('connect')
  , Db = require('mongodb').Db
  , Server = require('mongodb').Server
  , server_config = new Server('localhost', 27017, {auto_reconnect: true, native_parser: true})
  , db = new Db('test', server_config, {})
  , mongoStore = require('connect-mongodb');

connect.createServer(
  connect.bodyParser(),
  connect.cookieParser(),
  connect.session({
    cookie: {maxAge: 60000 * 20} // 20 minutes
  , secret: 'foo'
  , store: new mongoStore({db: db})
  })
);

Tests

This library is being tested using testosterone.

To run the tests:

make
Something went wrong with that request. Please try again.