MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Warum wird empfohlen, eine MongoDB-Verbindung nirgendwo im Node.js-Code zu schließen?

Sie öffnen eine Db-Verbindung einmal mit MongoClient und verwenden sie in Ihrer Anwendung wieder. Wenn Sie mehrere Datenbanken verwenden müssen, verwenden Sie die .db-Funktion für das Datenbankobjekt, um mit einer anderen Datenbank zu arbeiten, die denselben zugrunde liegenden Pool von Verbindungen verwendet. Ein Pool wird beibehalten, um sicherzustellen, dass eine einzelne Blockierungsoperation Ihre node.js-Anwendung nicht einfrieren kann. Standardgröße bei 5 Verbindungen in einem Pool.

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

Ich habe auch vergessen hinzuzufügen. Wie die andere Antwort darauf hingewiesen hat, ist das Einrichten einer neuen TCP-Verbindung zeit- und speicherintensiv, weshalb Sie Verbindungen wiederverwenden. Außerdem führt eine neue Verbindung dazu, dass ein neuer Thread auf MongoDB erstellt wird, der auch Speicher auf der Db verwendet.