Mongodb Atlas создает 2 соединения для одного запроса - PullRequest
0 голосов
/ 14 марта 2020

Я использую AWS безсерверный и реактивный для проекта. Я заметил, что для каждого запроса, который я посылаю в атлас конечной точки, создается 2 соединения вместо одного. Сначала я думал, что я делаю 2 запроса одновременно, но когда я увидел свои журналы наблюдения за облаком для своей лямбды, я увидел только один журнал для запроса. Вот код подключения для атласа MongoDB, я создал централизованный файл подключения, который содержит следующий код

const { MongoClient } = require('mongodb');

let connection = null;

const option = { useNewUrlParser: true, useUnifiedTopology: true };

module.exports.connectToDatabase = () =>
  new Promise((resolve, reject) => {
    // console.log(connection)
    if (!connection) {
      MongoClient.connect(process.env.MONGODB_URL, option, (err, client) => {
        if (err) {
          // console.log('l')
          reject(err);
          return;
        }
        // console.log('b')
        const db = client.db('me');
        resolve(db);
        connection = db;
      });
    } else resolve(connection);
  });

И я использую «connectToDatabase» во всех функциях, подобных этой

const { connectToDatabase } = require('../helper/conn');
module.exports.add = async (event, context) => {
...
context.callbackWaitsForEmptyEventLoop = false;
const db = await connectToDatabase();
...
}

Если кто-то сталкивался с этой проблемой или знает, как ее решить, пожалуйста, дайте мне знать, как я могу решить эту проблему

...