Forbindelsen bør genbruges af følgende årsager:
- Åbning og lukning af DB-forbindelser på hver API-anmodning er langsom.
- Det er næppe skalerbart. Hvis du antager, at du laver et par API-anmodninger samtidigt pr. bruger, vil du hurtigt nå den samme grænse for forbindelser, når appen får flere brugere.
Hvordan administrerer jeg MongoDB-forbindelser i en Node.js-webapplikation?
Standard MongoClient
konfigurationen har det maksimale antal forbindelser pr. pool (poolSize
) indstillet til 5
. Så du bør ikke se mere end ~5 forbindelser i MongoDB Atlas, hvis du kun har én app-instans, der kører og kontrollerer, om en klient allerede er tilsluttet, ligesom du gør.
if (!client.isConnected()) {
await client.connect();
}
Bemærk, at Next.js "genstarter" ved hver anmodning i udviklingstilstanden (next dev
), og det ser ud til, at det påvirker MongoClient
cache og skaber mange forbindelser. Men i produktionstilstand bør du ikke opleve dette problem.