javascript - mongoDB太多连接如何正确关闭它们?
问题描述
我在我的 NodeJS 项目中使用 MongoDB 和 ExpressJS。和 mongoDB npm 依赖项。奇怪的是,它每次在执行 POST 或 GET 请求时都会打开一个新连接,几次后我收到以下错误:
已配置限制的连接百分比已超过 80
像这样打开连接:
const mongodb = require ('mongodb');
module.exports = {
dbConn: async function(table) {
const client = await mongodb.MongoClient.connect
('mongodb+srv://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.mongodb.net/test?retryWrites=true', {
useNewUrlParser: true
});
return client.db('test').collection(table);
}
}
执行 GET 或 POST 请求:
const db = require('./db');
router.get('/:id', async (req, res) => {
try{
const keywords = await db.dbConn('kw_data');
data = await keywords.findOne({hash: req.params.id});
if(data != null){
res.status(200).send(data);
}
else{
res.status(200).send({"result": false});
}
}
catch(e){
res.status(400).send(e);
res.status(404).send(e);
res.status(500).send(e);
}
})
是这样我可以以某种方式关闭连接还是让它保持打开状态?
解决方案
推荐阅读
- machine-learning - SVM 加载的训练模型的准确率明显降低;我们也需要保存 TokenCountVectorizer 吗?
- symfony - 重置 Symfony 会话生命周期/用户活动超时
- ios - iOS:我收到一条错误消息“请求的属性表达式的地址”
- pandas - Kaggle 文件汇总错误(Santander Value Prediction Challenge)
- c# - 蜡工具包。如何使用 $(env.windir)?
- asp.net-core - Unobtrusive Ajax lib 不发送 XmlHttpRequest 标头
- spring-cloud-config - 带有裸本地存储库的 Spring-Cloud-Config
- visual-studio - Resource.Designer.cs 生成器在调试时缺少资源
- reactjs - 如何动态更改属性要求
- sql-server-2008 - 从其他数据集向 SQL Server Reporting Services 中的表添加值