如何使用已有的Mongo连接配置Mongoose

3
我有一个应用程序,已经使用本地Node Mongo驱动程序(v3.0)运行。现在我正在尝试逐步实现Mongoose,以便更容易地维护应用程序。我想逐步完成这个过程,因此我重写了所有与用户相关的操作,并保留了其余部分。我注意到我的应用程序现在创建了两个连接到Mongo数据库。显然这是因为Mongoose不知道我的现有连接。我想自己处理连接和断开Mongo,并将Mongoose引用到已存在的连接,但我在文档中找不到任何类似的内容。这是否可能,或者直到我的应用程序完全重写为仅使用Mongoose之前,我需要两个不同的连接?编辑:我的应用程序作为AWS Lambda函数运行,每次请求都必须连接和断开Mongo,因此每个请求有两个并发连接,这实际上将我的Mongo db可用连接减半。这就是为什么我担心多出一个连接的原因。

你为什么会担心有2个连接呢?这似乎是合理的。据我所知,没有官方的方法。可能可以通过黑客Mongoose内部来实现。 - Estus Flask
@estus 通过每个请求使用2个连接,我实际上将我的数据库服务器容量减半了。我应该在问题中提到我的上下文是AWS Lambda,因此我必须在每个请求中连接和断开连接。 - Julian
考虑更新问题并提供这些信息,因为它有助于解决问题。可能最好在Mongoose存储库中创建一个功能请求,以便接受现有的Mongo连接进行mongoose.connect操作。如果有解决方法,它们很可能会在注释中提到。 - Estus Flask
@JohnnyHK 请看一下我的问题更新,问题已经解决了。我已经找到了答案并且发布了,但是SO需要两天时间才能让我把它标记为已解决。 - Julian
1个回答

0
原来解决这个问题的方法是反过来做。只需连接到Mongoose,然后获取连接即可。
let mongoConnection = mongoose.connection.client

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接