mongoDB слишком много подключений, как правильно их закрыть? - PullRequest
1 голос
/ 17 апреля 2019

Я использую MongoDB в своем проекте NodeJS с 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); 
  }
})

Это так, чтобы я мог как-то закрыть соединение или просто оставить его открытым?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...