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

Hvorfor anbefales det ikke at lukke en MongoDB-forbindelse nogen steder i Node.js-koden?

Du åbner en Db-forbindelse én gang med MongoClient og genbruger den på tværs af din applikation. Hvis du skal bruge flere db'er, bruger du .db-funktionen på Db-objektet til at arbejde på en anden db ved hjælp af den samme underliggende pool af forbindelser. En pulje opbevares for at sikre, at en enkelt blokeringsoperation ikke kan fryse din node.js-applikation. Standardstørrelse hvis 5 forbindelser i en pool.

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

Jeg glemte også at tilføje. Som det andet svar påpegede, er det DYRT tidsmæssigt og hukommelsesmæssigt at oprette en ny TCP-forbindelse, det er derfor, du genbruger forbindelser. En ny forbindelse vil også forårsage, at der oprettes en ny tråd på MongoDB ved hjælp af hukommelse på Db'en.



  1. mongodb $eksisterer altid og returnerer 0

  2. django:redis:CommandError:Du har ikke indstillet ASGI_APPLICATION, som er nødvendig for at køre serveren

  3. Sådan bruges variabler i MongoDB Map-reducer kortfunktion

  4. Redis Pub/Sub med pålidelighed