Проблема в следующем.
Пользователи часто ругались на то что сессия слетала быстро, увеличил срок хранения сессии до 3 месяцев и база раздулась мама не горюй, к примеру только за один день пол миллиона документов в коллекции db.sessions
Конфиг обычный
app.use(session({
secret: 'secret',
cookie: { path: '/', httpOnly: !0, maxAge: 7776000000, secure: 0 },
name: 'sid',
store: sessionStore,
saveUninitialized: 0,
resave: 0
}))
И sessionStore
const mongoose = require('mongoose')
, expressSession = require('express-session')
, MongoStore = require('connect-mongo')(expressSession)
, sessionStore = new MongoStore({
mongooseConnection: mongoose.connection,
autoRemove: 'interval',
autoRemoveInterval: 1
})
module.exports = sessionStore
Не могу понять, для чего экспресс хранить сессию гостя/бота, в нее же ничего не пишется, она просто существует и никаких действий с ней не происходит, имею ввиду действительно нужных действий, или я ошибаюсь?
По факту для авторизации я использую проверку request.session.user, где гость это null, а пользователь объект с данными из коллекции users.
Я просто не вижу смысла делать многочисленные бесхозные инсерты в базу, для чего они там нужны? Понятно когда документ содержит ID, но там таких тысячи, а документов миллионы.
Хочется добиться того чтобы сессия хранилась в базе только пользователя, а гостевые сессии.... для чего они вообще нужны?