使用 nedb 作为 session 的存储容器
Go to file
2023-08-27 18:40:26 +08:00
.gitignore Initial commit 2021-11-17 04:19:56 +08:00
index.js bate 2021-11-17 05:28:02 +08:00
LICENSE Initial commit 2021-11-17 04:19:56 +08:00
package.json 1.0.3 2023-08-27 18:29:08 +08:00
README.md doc 2023-08-27 18:40:26 +08:00

express-session-nedb

Use nedb as the storage container for session, and ensure that nedb and the project use the same version of dependencies, so that session data can also be queried and managed.

使用 nedb 作为 session 的存储容器, 且保障nedb与项目使用统一版本依赖, 使 session 数据也可以被查询和管理

npm install express-session-nedb
import nedb               from 'nedb'
import express            from 'express'
import expressSession     from 'express-session'
import expressSessionNedb from 'express-session-nedb'

const sessions = new nedb({
  filename:`./db/session.db`,
  autoload:true,
  timestampData:true
})

const app = express()
const store = expressSessionNedb(expressSession, sessions)

app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.use(expressSession({
  secret: 'shizukana',
  name:'sid',
  resave: false,
  saveUninitialized: false,
  cookie: { maxAge: 180 * 24 * 3600000 },
  store: store
}))

app.get('/api/sessions' function(req, res, next) {
  const { page, pageSize, ...query } = req.query
  sessions.find(query, (err, docs) => {
    res.json({ page, pageSize, list: docs })
  })
})

app.listen(3000)