Mongoose 和 connect-mongo

Ion*_*Kat 4 session mongoose mongodb session-cookies node.js

我正在使用 mongoose 来管理数据之间的关系,并且尝试使用 connect-mongo 在数据库中存储特定会话。

看起来我们需要两次连接到数据库,一次使用 mongoose,另一次使用 connect-mongo。

我使用以下代码来初始化猫鼬的连接

await mongoose.connect(this._connectionUrl, this._connectionOptions);
Run Code Online (Sandbox Code Playgroud)

每次初始化一个新商店(不确定我关于代码初始化是否正确)。

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
            })
        }))
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将连接从 mongoose 传递到 mongo-connect Store 吗?

小智 8

我也在寻找解决方案,只需在 connect-mongo 的“迁移指南”上阅读此内容

对于选项,您应该进行以下更改:

将 url 更改为 mongoUrl 如果您正在使用它,请将集合更改为 collectionName 如果您正在使用它,请保留 clientPromise mongooseConnection 已被删除。请更新您的应用程序代码以使用 mongoUrl、client 或 clientPromise 要重用现有的 mongoose 连接,请使用 Connection.prototype.getClient() 从 mongoose 连接中检索 mongoDb 驱动程序,并将其传递到客户端选项中的存储。删除fallbackMemory选项,如果您正在使用它,

有这个例子https://github.com/jdesboeufs/connect-mongo/blob/master/example/mongoose.js