connect-sqlite3 is a SQLite3 session store modeled after the TJ's connect-redis store.
Requires Node.js >= 22.5.0 — uses the built-in
node:sqlitemodule (DatabaseSync). No native addons needed.
Note:
node:sqliteis currently experimental in Node.js and may emit a warning on startup.
$ npm install connect-sqlite3table='server_sessions'Database table namedb=dbConnectionADatabaseSyncinstance fromnode:sqliteconcurrentDB='false'Enables WAL mode (defaults to false)
Note: The
optionsparameter requires an already initialized database connection instead of a file name. This design allows the library to remain flexible about database connection management in your application.
var connect = require('connect'),
{ DatabaseSync } = require('node:sqlite'),
dbConnection = new DatabaseSync(':memory:'),
SQLiteStore = require('connect-sqlite3')(connect);
connect.createServer(
connect.cookieParser(),
connect.session({ store: new SQLiteStore({ db: dbConnection }), secret: 'your secret' })
);with express 4.x:
var session = require('express-session');
var { DatabaseSync } = require('node:sqlite');
var SQLiteStore = require('connect-sqlite3')(session);
var dbConnection = new DatabaseSync('./sessions.db');
app.use(session({
store: new SQLiteStore({ db: dbConnection }),
secret: 'your secret',
cookie: { maxAge: 7 * 24 * 60 * 60 * 1000 } // 1 week
})); $ npm test