Най-добрата практика е да отворите връзката веднъж, да я съхраните в променлива и да я затворите в края. MongoDB изрично препоръчва това. Това е причината, поради която отварянето и затварянето на връзка е част от MongoDB API, вместо да се случва автоматично за всяка заявка.
Отварянето и затварянето на връзки за всяка заявка ще доведе до значително натоварване както по отношение на производителността (CPU + латентност), мрежовия трафик, управлението на паметта (създаване и изтриване на обекти), не само за клиента, но и за самия сървър, което също оказва влияние други клиенти.
Относно терминологията на връзката :в някои драйвери като Java, това, което всъщност се създава и съхранява в променлива, не е физическа връзка, а MongoClient
инстанция. Изглежда като връзка от абстрактна (API) гледна точка, но всъщност капсулира действителната физическа връзка(и) и скрива сложността от потребителя.
Създаване на MongoClient
инстанция само веднъж, за драйверите, които поддържат това, също ще ви позволи да се възползвате от пулиране на връзки където драйверът поддържа активни връзки паралелно за вас, така че вие също трябва да създадете само един MongoClient
екземпляр в множество нишки.