Připojení by mělo být znovu použito z následujících důvodů:
- Otevírání a zavírání DB připojení při každém požadavku API je pomalé.
- Je stěží škálovatelný. Za předpokladu, že provádíte několik požadavků API současně na jednoho uživatele, dosáhnete stejného limitu připojení rychle, když aplikace získá více uživatelů.
Jak mohu spravovat připojení MongoDB ve webové aplikaci Node.js?
Výchozí MongoClient
konfigurace má maximální počet připojení na fond (poolSize
) nastavte na 5
. Pokud tedy máte spuštěnou pouze jednu instanci aplikace a kontrolujete, zda je klient již připojen, jako vy, neměli byste v Atlasu MongoDB vidět více než ~5 připojení.
if (!client.isConnected()) {
await client.connect();
}
Všimněte si, že Next.js se "restartuje" při každém požadavku ve vývojovém režimu (next dev
) a zdá se, že to ovlivňuje MongoClient
cache a vytváří mnoho spojení. V produkčním režimu byste však tento problém neměli zaznamenat.