sql >> Database >  >> NoSQL >> MongoDB

Waarom wordt aanbevolen om nergens in de Node.js-code een MongoDB-verbinding te sluiten?

U opent eenmaal een Db-verbinding met MongoClient en hergebruikt deze in uw applicatie. Als u meerdere db's moet gebruiken, gebruikt u de .db-functie op het Db-object om aan een andere db te werken met dezelfde onderliggende pool van verbindingen. Er wordt een pool bijgehouden om ervoor te zorgen dat een enkele blokkeerbewerking uw node.js-toepassing niet kan bevriezen. Standaardgrootte bij 5 verbindingen in een pool.

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

Ben ik ook vergeten toe te voegen. Zoals het andere antwoord al aangaf, is het opzetten van een nieuwe TCP-verbinding duur qua tijd en geheugen, daarom hergebruik je verbindingen. Een nieuwe verbinding zorgt er ook voor dat er een nieuwe thread wordt gemaakt op MongoDB met behulp van geheugen op de Db.



  1. Wat is de aanbevolen benadering van multi-tenant databases in MongoDB?

  2. Hoe u meerdere lijstwaarden kunt krijgen in één enkele oproep in RedisTemplate van Jedis Client

  3. Verwijder een subdocument dat is genest in een array in MongoDB

  4. Ingesloten documenten filteren in MongoDB