Anslutningen bör återanvändas av följande skäl:
- Det går långsamt att öppna och stänga DB-anslutningar på varje API-begäran.
- Det är knappast skalbart. Om du antar att du gör några API-förfrågningar samtidigt per användare, kommer du snabbt att nå samma anslutningsgräns när appen får fler användare.
Hur hanterar jag MongoDB-anslutningar i en Node.js-webbapplikation?
Standard MongoClient
konfigurationen har maximalt antal anslutningar per pool (poolSize
) inställd på 5
. Så du bör inte se mer än ~5 anslutningar i MongoDB Atlas om du bara har en appinstans igång och kontrollerar om en klient redan är ansluten, som du gör.
if (!client.isConnected()) {
await client.connect();
}
Observera att Next.js "startar om" vid varje begäran i utvecklingsläget (next dev
) och det verkar påverka MongoClient
cache och skapar många anslutningar. Men i produktionsläge bör du inte uppleva det här problemet.