Итак, я хотел бы сохранить сеанс для пользователей в моей базе данных Mongo db.Я использую пакеты exp-session и connect-mongo npm.
const MongoStore = require('connect-mongo')(session);
const session = require('express-session');
app.use(session({
secret: 'secret',
resave: true,
saveUninitialized: false,
store: new MongoStore({
mongooseConnection: db
})
}));
Я сохраняю его в сеансе
req.session.userId = IdOfUserFromDatabaseQuery;
{
"_id" : "hcog9Z9Jjawb5joIax-z1Wv7txV--nYA",
"session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"summoner\":\"Blis\",\"summonerId\":\"5ba7ec0293b6220cc2f12959\"}",
"expires" : ISODate("2018-10-07T20:39:41.911Z")
}
Ключ сеанса: значение кодируется как "{\" cookie\ ": ... и я хочу, чтобы оно было {cookie: ...
. Я искал и обнаружил, что этот тип кодирования означает, что он имеет двойную кодировку. Я проверил. Я не кодирую его, когдаЯ помещаю это в сессию, что означает, что, вероятно, происходит то, что express-session автоматически кодирует JSON, а также когда я использую ...
store: new MongoStore({
mongooseConnection: db
})
}));
для подключения сеанса к базе данных mongo, это, вероятно,кодирование снова. Как мне предотвратить его кодирование при сохранении в базе данных с помощью функции MongoStore.