在 koa-session 数据库实例的 get/set/destroy 方法中放置什么?
What to put in get/set/destroy methods on koa-session DB instance?
我正在尝试将我的 Koa 应用程序的会话存储在 mongo 数据库服务器上。
我不太明白这部分文档是如何工作的:
https://github.com/koajs/session/blob/master/Readme.md#external-session-stores
它说我们必须向我们的数据库实例添加三个方法 (get/set/destroy)。就我而言,我不知道在这些函数中放入什么。
有人会帮助我吗?至少对于 get()
谢谢!
作为参考,您可以看看这个使用 RethinkDB 的会话存储。
export function getRethinkSessionStore (dbConn, tableName = 'session') {
return {
// Get session object by key.
get: (key, ageMax, { rolling }) =>
r.table(tableName).get(key)('session')
.run(dbConn)
.catch(err => null),
// Set session object for key, with a maxAge (in ms).
set: (key, session, maxAge, { rolling, changed }) =>
r.table(tableName).insert({id: key, maxAge, session}, {conflict: 'replace'})
.run(dbConn)
.catch(err => {}),
// Destroy session for key.
destroy: key =>
r.table(tableName).delete(key)
.run(dbConn)
.catch(err => {})
}
}
我正在尝试将我的 Koa 应用程序的会话存储在 mongo 数据库服务器上。
我不太明白这部分文档是如何工作的: https://github.com/koajs/session/blob/master/Readme.md#external-session-stores
它说我们必须向我们的数据库实例添加三个方法 (get/set/destroy)。就我而言,我不知道在这些函数中放入什么。
有人会帮助我吗?至少对于 get()
谢谢!
作为参考,您可以看看这个使用 RethinkDB 的会话存储。
export function getRethinkSessionStore (dbConn, tableName = 'session') {
return {
// Get session object by key.
get: (key, ageMax, { rolling }) =>
r.table(tableName).get(key)('session')
.run(dbConn)
.catch(err => null),
// Set session object for key, with a maxAge (in ms).
set: (key, session, maxAge, { rolling, changed }) =>
r.table(tableName).insert({id: key, maxAge, session}, {conflict: 'replace'})
.run(dbConn)
.catch(err => {}),
// Destroy session for key.
destroy: key =>
r.table(tableName).delete(key)
.run(dbConn)
.catch(err => {})
}
}