https://github.com/toddself/level-session-store
An express-session storage engine using node-level
https://github.com/toddself/level-session-store
Last synced: about 1 year ago
JSON representation
An express-session storage engine using node-level
- Host: GitHub
- URL: https://github.com/toddself/level-session-store
- Owner: toddself
- License: other
- Created: 2015-04-25T20:52:25.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2019-02-14T21:26:44.000Z (over 7 years ago)
- Last Synced: 2025-03-26T10:11:27.602Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 21.5 KB
- Stars: 12
- Watchers: 9
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://circleci.com/gh/scriptoLLC/level-session-store)
# Level-Session-Store
[](https://greenkeeper.io/)
A session storage module for [expressjs/session](https://github.com/expressjs/session) that uses [level/level](https://github.com/level/level) to store data.
_Note_: this is different than [rvagg/node-level-session](https://github.com/rvagg/node-level-session) in that it requires express-session to operate. It is merely a backing store.
## Installation
`npm install --save level-session-store`
## Usage
```js
var app = require('express')();
var session = require('express-session');
var LevelStore = require('level-session-store')(session);
var mw = session({
store: new LevelStore()
});
app.use(mw);
```
So long as you have level installed (it is listed as a peerDependency) this will create a new level db and use it for storing sessions.
You don't like the default location it puts it?
```js
var app = require('express')();
var session = require('express-session');
var LevelStore = require('level-session-store')(session);
var mw = session({
store: new LevelStore('/path/to/where/you/want/it')
});
app.use(mw);
```
You already have a level instance you want it to use? Not a problem.
```js
var app = require('express')();
var session = require('express-session');
var LevelStore = require('level-session-store')(session);
var mw = session({
store: new LevelStore(myLevelInstance)
});
app.use(mw);
```
This will invoke "name munging" -- the keys for session stuff will prefixed with `_session`. You don't like that munging?
```js
var app = require('express')();
var session = require('express-session');
var LevelStore = require('level-session-store')(session);
var mw = session({
store: new LevelStore(myLevelInstance, {ns: '_sessionsAreRadicalToTheExtreme'})
});
app.use(mw);
```
## License
Copyright 2015 Scripto. Available under the Apache 2 license.