Javascript mongoDB连接太多如何正确关闭它们?
我在我的带有ExpressJS的NodeJS项目中使用MongoDB。以及mongoDB npm依赖项。奇怪的是,每次执行POST或GET请求时,它都会打开一个新连接,几次之后,我会收到以下错误: 已配置限制的连接数%已超过80 按如下方式打开连接:Javascript mongoDB连接太多如何正确关闭它们?,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我在我的带有ExpressJS的NodeJS项目中使用MongoDB。以及mongoDB npm依赖项。奇怪的是,每次执行POST或GET请求时,它都会打开一个新连接,几次之后,我会收到以下错误: 已配置限制的连接数%已超过80 按如下方式打开连接: const mongodb = require ('mongodb'); module.exports = { dbConn: async function(table) { const client = await mongodb
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);
}
})
是这样我才能以某种方式关闭连接,还是让连接保持打开状态?您应该调用
mongodb.MongoClient.connect
一次,而不是每次请求。感谢您指出了正确的方向,我如何检查连接是否打开以及我需要调用什么?另请参阅