Ich habe eine Instanz von MongoClient
und DB
in meiner Anwendung und jedes Mal, wenn ich eine Operation ausführen möchte, rufe ich getCollection()
auf.
Ich frage mich, ob ich die Verbindung explizit schließen muss, genau wie connection.close()
in JDBC.
Um zu betonen, habe ich nur eine MongoClient
Instanz. Meine Frage besteht nicht darin, MongoClient
zu schließen, sondern die Verbindungen zu schließen. Ich glaube, es öffnet sich, wenn ich getCollection()
anrufe.
Nein, Sie müssen keine Verbindungen zur Datenbank schließen - Ihre einzige Verbindung besteht über MongoClient, und wie in der Dokumentation angegeben, wird das Verbindungs-Pooling für Sie erledigt.
Die einzige Ressource, die Sie aufräumen möchten, wäre ein Cursor Sie sollten close () beenden, wenn Sie damit fertig sind .
Sie sollten schließen, wenn Sie viele MongoClient haben.
Die MongoClient-Instanz repräsentiert tatsächlich einen Pool von Verbindungen zu die Datenbank; Sie benötigen nur eine Instanz der Klasse MongoClient sogar mit mehreren Threads.
MongoClient.close () um Ressourcen zu bereinigen
MongoClient.close () - schließt den zugrunde liegenden Connector, der seinerseits schließt alle offenen Verbindungen. Einmal aufgerufen, kann diese Mongo-Instanz nicht länger verwendet werden.
Mehr: Ссылка