Я использую 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();
...
}
Если кто-то сталкивался с этой проблемой или знает, как ее решить, пожалуйста, дайте мне знать, как я могу решить эту проблему