È consigliabile aprire la connessione una volta, memorizzarla in una variabile e chiuderla alla fine. MongoDB lo raccomanda esplicitamente. Questo è il motivo per cui l'apertura e la chiusura di una connessione fa parte dell'API MongoDB piuttosto che farlo automaticamente per ogni query.
L'apertura e la chiusura delle connessioni per ogni query introdurrà un sovraccarico significativo sia in termini di prestazioni (CPU + latenza), traffico di rete, gestione della memoria (creazione ed eliminazione di oggetti), non solo per il client ma anche per il server stesso, che impatta anche altri clienti.
Sulla terminologia di connessione :in alcuni driver come Java, ciò che viene effettivamente creato e memorizzato in una variabile non è una connessione fisica, ma un MongoClient
esempio. Sembra una connessione da una prospettiva astratta (API), ma in realtà incapsula le connessioni fisiche effettive e nasconde la complessità all'utente.
Creazione del MongoClient
istanza solo una volta, per i driver che lo supportano, ti consentirà anche di beneficiare del pooling di connessioni dove il driver mantiene le connessioni attive in parallelo per te, quindi devi anche creare un solo MongoClient
istanza su più thread.