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

Perché si consiglia di non chiudere una connessione MongoDB da nessuna parte nel codice Node.js?

Apri una connessione Db una volta con MongoClient e la riutilizzi nell'applicazione. Se è necessario utilizzare più db, utilizzare la funzione .db sull'oggetto Db per lavorare su un db diverso utilizzando lo stesso pool di connessioni sottostante. Viene mantenuto un pool per garantire che una singola operazione di blocco non possa bloccare l'applicazione node.js. Dimensione predefinita se 5 connessioni in un pool.

http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html

Mi sono anche dimenticato di aggiungere. Come l'altra risposta ha sottolineato, l'impostazione di una nuova connessione TCP è COSTOSA in termini di tempo e di memoria, ecco perché riutilizzi le connessioni. Inoltre, una nuova connessione causerà la creazione di un nuovo thread su MongoDB utilizzando anche la memoria sul Db.