Я использую модуль узла connect-mongo для хранения данных сеанса в mongodb.Как настроить connect-mongo
Ниже приведен код, связанный с настройкой подключения-Монго
const cookieParser = require('cookie-parser');
app.use(cookieParser());
const session = require('express-session');
const mongoStore = require('connect-mongo')(session);
app.use(session({
secret: "test",
store: new mongoStore({
url: mongodbURL,
collection : 'sessions',
autoRemove: 'interval',
autoRemoveInterval: 1 // In minutes. Default
}
}));
После того, как пользователь подключается к корню «/» URL из браузера, запись становится вставлено в базе данных
{
"_id": "EZ2sy6jHvnrlsyofqCrKVfPtp6hv5FX_",
"session": "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"name\":\"mongosession\"}",
"expires": ISODate("2016-06-14T15:19:15.548Z")
}
Моих вопросы:
Почему это оригиналMaxAge, срок действия ключей «session» - null и , что необходимо изменить, чтобы эти ключи имели значение.?
Поскольку я поставил autoRemoveInterval 1 мин, я предполагал, что сеанс значения из базы данных будут удалены в течение 1 мин, но это было не так Что нужно изменить, чтобы достичь этого?
Спасибо за ваш ответ. Теперь я добавил ttl: 60 key/value, и поскольку autoRemoveInterval равен 1, я ожидал, что если данный сеанс простаивает более 1 минуты, запись сеанса в базе данных будет удалена, но записи не будут удалены , – refactor
@CleanCrispCode, что показывает свойство 'expires' этих документов? – robertklep
{ { \t "_id": "1234", \t "session": "{\" cookie \ ": {\" originalMaxAge \ ": null, \" expires \ ": null, \" secure \ ": false , \ "httpOnly \": true, \ "path \": \ "/ \"}, \ "name \": \ "mongosession \"} ", \t" expires ": ISODate (" 2016-06-01T08 : 25: 20.981Z ") } – refactor