Я пытаюсь сохранить сеансы моего приложения Koa на сервере mongo DB.
Я не очень понимаю, как работает эта часть документации: https://github.com/koajs/session/blob/master/Readme.md#external-session-stores
В нем говорится, что мы должны добавить три метода (получить / установить / уничтожить) в наш экземпляр БД. В моем случае я не знаю, что добавить в эти функции.
Кто-нибудь мне поможет? По крайней мере, для get ()
Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


В качестве справки вы можете взглянуть на это хранилище сеансов, которое использует 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-session': import session from 'koa-session', а затем app.use(session({store: getRethinkSessionStore(dbConn)}, app))
Спасибо! Это действительно то, о чем я думал :). Я реализовал это без ORM, используя MongoDB. Но теперь мне интересно, как вызывать эти методы из контекста (хотя это работает, если я вызываю их вручную). ctx.session пуст.