2021-11-17 04:19:56 +08:00
# express-session-nedb
2023-08-27 17:50:36 +08:00
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.
2021-11-17 05:42:15 +08:00
使用 nedb 作为 session 的存储容器, 且保障nedb与项目使用统一版本依赖, 使 session 数据也可以被查询和管理
```bash
npm install express-session-nedb
```
```javascript
2023-08-27 18:27:54 +08:00
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
})
2021-11-17 05:42:15 +08:00
const app = express()
2023-08-27 18:27:54 +08:00
const store = expressSessionNedb(expressSession, sessions)
2021-11-17 05:42:15 +08:00
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
2023-08-27 18:40:26 +08:00
app.use(expressSession({
2023-08-27 18:27:54 +08:00
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 })
2021-11-17 05:42:15 +08:00
})
})
2023-08-27 18:27:54 +08:00
app.listen(3000)
2021-11-17 05:42:15 +08:00
```