MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

next.js e mongodb atlas:ottenere connessioni La percentuale del limite configurato ha superato l'80 avviso

La connessione deve essere riutilizzata per i seguenti motivi:

  1. L'apertura e la chiusura delle connessioni DB su ogni richiesta API è lenta.
  2. Difficilmente è scalabile. Supponendo che tu stia effettuando alcune richieste API contemporaneamente per utente, raggiungerai rapidamente lo stesso limite di connessioni quando l'app riceve più utenti.

Come faccio a gestire le connessioni MongoDB in un'applicazione web Node.js?

MongoClient predefinito la configurazione ha il numero massimo di connessioni per pool (poolSize ) impostato su 5 . Quindi, non dovresti vedere più di circa 5 connessioni in MongoDB Atlas se hai solo un'istanza dell'app in esecuzione e controlla se un client è già connesso, come fai tu.

if (!client.isConnected()) {
  await client.connect();
}

Nota che Next.js "riavvia" ad ogni richiesta nella modalità di sviluppo (next dev ) e sembra che influisca su MongoClient cache e crea molte connessioni. Tuttavia, in modalità di produzione, non dovresti riscontrare questo problema.