Я использую следующий фрагмент для подключения к Монго, и каждое новое подключение занимает около 2-3 секунд, чтобы открыть. Просто интересно, это поведение по умолчанию в MongoDB Atlas, или я что-то не так делаю.
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://<user>:<password>@<atlasUri>/test?retryWrites=true&w=majority";
console.time('connectionTime');
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
console.timeEnd('connectionTime');
const collection = client.db("test").collection("devices");
// perform actions on the collection object
client.close();
});
Мой код запускается в функции AWS Lambda, и я стараюсь избегать выполнения context.callbackWaitsForEmptyEventLoop = false;
, предложенного в https://docs.atlas.mongodb.com/best-practices-connecting-to-aws-lambda/.. Я предпочитаю закрывать соединение после завершения запроса.