Мангуст и подключение-монго

#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