“MongoServerSelectionError:连接 <monitor> 到 xxx.xx.xx.xxx:27017 已关闭

问题描述

我在我的应用程序中使用 AWS DocumentDB 作为我的数据库,该应用程序是在与 MongoDB 兼容的 node.js 中开发的。我使用 MongoClient 连接到我的数据库。我的应用程序执行,但每次执行都会建立大约 1000 个数据库连接,然后失败并显示错误

MongoServerSelectionError: connection <monitor> to xxx.xx.xx.xxx:27017 closed. 

我也尝试使用 client.close() 关闭连接,然后它显示连接池已关闭。我相信这个问题是由于数据库连接太多造成的。

如何释放 MongoDB 中的连接?任何帮助表示赞赏。

解决方法

从您的问题看来,发生的事情是每次调用函数时都定义一个新的 MongoClient 对象,导致驱动程序在每次函数调用时创建一个新的数据库连接。相反,在 AWS Lambda 处理程序函数之外定义客户端连接,并在每个函数调用中重复使用该连接。