#node.js #mongodb #session #mongoose #session-cookies
#node.js #mongodb #сессия #мангуст #сеансовые файлы cookie
Вопрос:
Я использую mongoose для управления связями между данными, и я пытаюсь использовать connect-mongo для хранения определенных сеансов в базе данных.
Похоже, нам нужно дважды подключиться к БД, один с помощью mongoose, а другой с помощью connect-mongo.
Я использую следующий код для инициализации соединения для mongoose
await mongoose.connect(this._connectionUrl, this._connectionOptions);
Каждый раз инициализирую новое хранилище (не уверен, что я прав в отношении инициализации кода).
app.use(session({
// secret: config.sessionSecretKey,
secret: "secretkey",
resave: true,
saveUninitialized: true,
cookie: { maxAge: 19 * 60000 }, // store for 19 minutes
store: MongoStore.create({
mongoUrl: this._connectionUrl,
mongoOptions: this._connectionOptions // See below for details
})
}))
Есть ли какой-либо способ, которым я могу передать соединение из mongoose в хранилище mongo-connect?
Ответ №1:
я тоже ищу решение и просто прочитал это в «руководстве по миграции» connect-mongo
Для параметров необходимо внести следующие изменения:
Измените URL на mongoUrl Измените collection на collectionName, если вы его используете, сохраните clientPromise, если вы его используете mongoos -соединение было удалено. Пожалуйста, обновите код вашего приложения, чтобы использовать mongoUrl, client или clientPromise Для повторного использования существующего соединения mongoose восстановите драйвер MongoDB из вашего соединения mongoose с помощью Connection.prototype.getClient() и передайте его в хранилище в опции клиента. Удалите опцию fallbackMemory и, если вы ее используете,
и вот этот пример https://github.com/jdesboeufs/connect-mongo/blob/master/example/mongoose.js