1. Übersicht
In diesem Tutorial lernen wir, die Verbindung mit MongoDB zu überprüfen.
Um eine Verbindung zu einer einzelnen MongoDB-Instanz herzustellen, müssen wir den URI der MongoDB-Instanz angeben.
2. Überprüfen der Verbindung mit Mongo Shell
In diesem Abschnitt stellen wir mit dem Mongo-Shell-Befehl eine Verbindung zum MongoDB-Server her. Wir werden verschiedene Fälle der Verbindung mit MongoDB untersuchen.
2.1. Überprüfen der Verbindung auf dem Standardport
MongoDB wird standardmäßig auf Port 27017, ausgeführt aber wir können es auch auf einem anderen Port ausführen. Wir können uns mit dem einfachen Mongo-Befehl mit dem MongoDB-Server verbinden:
$ mongo
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b7f80a0c-c7b9-4aea-b34c-605b85e601dd") }
MongoDB server version: 4.0.1-rc0-2-g54f1582fc6
Im obigen Befehl hat MongoDB standardmäßig den Port als 27017 angenommen . Wenn der MongoDB-Server ausgefallen ist, erhalten wir die folgende Fehlermeldung:
$ mongo --host localhost --port 27017 admin
MongoDB shell version v4.4.2
connecting to: mongodb://localhost:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server localhost:27017, connection attempt failed:
SocketException: Error connecting to localhost:27017 :: caused by :: Connection refused :
[email protected]/mongo/shell/mongo.js:374:17
@(connect):2:6
exception: connect failed
exiting with code 1
In diesem Fall haben wir den Fehler erhalten, weil wir keine Verbindung zum Server herstellen konnten.
2.2. Überprüfen der Verbindung in der gesicherten MongoDB-Datenbank
MongoDB kann mit Authentifizierung geschützt werden. In diesem Fall müssen wir den Benutzernamen und das Passwort im Befehl übergeben:
$ mongo mongodb://baeldung:[email protected]:27017
Hier haben wir den Benutzernamen verwendet „baeldung“ und das Passwort „baeldung“, um sich mit der auf localhost ausgeführten MongoDB zu verbinden.
2.3. Überprüfen der Verbindung auf dem benutzerdefinierten Port
Wir können MongoDB auch auf einem benutzerdefinierten Port ausführen. Alles, was wir tun müssen, ist Änderungen in der mongod.conf vorzunehmen Datei. Wenn die MongoDB auf einem anderen Port läuft, müssen wir diesen Port im Befehl angeben:
$ mongo mongodb://localhost:27001
Hier können wir in der Mongo-Shell auch die aktuell aktiven Verbindungen des Datenbankservers überprüfen.
var status = db.serverStatus();
status.connections
{
"current" : 21,
"available" : 15979
}
Der serverStatus gibt ein Dokument zurück, das einen Überblick über den aktuellen Status des Datenbankprozesses gibt. Regelmäßige Ausführung des serverStatus Der Befehl sammelt Statistiken über die MongoDB-Instanz.
3. Überprüfen der Verbindung mithilfe des Java-Treibercodes
Bisher haben wir gelernt, die Verbindung mit MongoDB über die Shell zu prüfen. Sehen wir uns nun dasselbe mit dem Java-Treibercode an:
MongoClientOptions.Builder builder = MongoClientOptions.builder();
// builder settings
ServerAddress ServerAddress = new ServerAddress("localhost", 27017);
MongoClient mongoClient = new MongoClient(ServerAddress, builder.build());
try {
System.out.println("MongoDB Server is Up:- "+mongoClient.getAddress());
System.out.println(mongoClient.getConnectPoint());
System.out.println(db.getStats());
} catch (Exception e) {
System.out.println("MongoDB Server is Down");
} finally{
mongoClient.close();
}
Im obigen Code haben wir zuerst die MongoClientOption erstellt Builder zum Anpassen der Konfigurationen des MongoClient Konnektivität und erstellte dann den MongoClient Verbindung über die Serveradresse. Angenommen, der MongoDB-Server läuft auf 27017 Port des lokalen Hosts. Andernfalls der MongoClient wird einen Fehler ausgeben.