node.js - Mongoose 和 connect-mongo
问题描述
我正在使用 mongoose 来管理数据之间的关系,并且我正在尝试使用 connect-mongo 在数据库中存储特定的会话。
看起来我们需要两次连接到数据库,一次使用 mongoose,另一次使用 connect-mongo。
我正在使用以下代码来初始化猫鼬的连接
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 Store?
解决方案
我也在寻找解决方案,只需在 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
推荐阅读
- javascript - 如何实时修改视频的音频
- reactjs - 我应该把将新数据写入 Firestore 的逻辑放在哪里?
- r - modify_at 删除列表中每个元素中的 NA 值
- c# - 如何找出 Outlook 中有多少位版本的加载项?
- tkinter - 如何在 Tkinter 中创建可滚动的按钮列表?
- reactjs - 如何处理material-ui DataGrid中的错误?
- django - Django QS按嵌套注释字段过滤
- better-sqlite3 - better-sqlite3 - 找不到绑定文件
- reactjs - 反应原生
另一个内部的组件 零件 - authentication - 在不同的服务器中模拟 Windows 用户