sql >> Database >  >> NoSQL >> MongoDB

Verbinding met MongoDB controleren

1. Overzicht

In deze tutorial leren we de verbinding met MongoDB te controleren.

Belangrijk om verbinding te maken met een enkele MongoDB-instantie, moeten we de URI van de MongoDB-instantie specificeren.

2. Verbinding controleren met Mongo Shell

In deze sectie zullen we verbinding maken met de MongoDB-server met behulp van de mongo shell-opdracht. We zullen verschillende gevallen van verbinding met MongoDB onderzoeken.

2.1. Verbinding controleren op de standaardpoort

Standaard draait MongoDB op poort 27017, maar we kunnen het ook op een andere poort draaien. We kunnen verbinding maken met de MongoDB-server met behulp van het eenvoudige mongo-commando:

$ 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

In het bovenstaande commando nam MongoDB standaard de poort aan als 27017 . Als de MongoDB-server niet beschikbaar is, krijgen we de volgende foutmelding:

$ 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 dit geval kregen we de fout omdat we geen verbinding konden maken met de server.

2.2. Verbinding controleren op beveiligde MongoDB-database

MongoDB kan worden beveiligd met authenticatie. In dat geval moeten we de gebruikersnaam en het wachtwoord doorgeven in de opdracht:

$ mongo mongodb://baeldung:[email protected]:27017

Hier gebruikten we de gebruikersnaam “baeldung” en het wachtwoord "baeldung" om verbinding te maken met de MongoDB die op localhost draait.

2.3. Verbinding controleren op aangepaste poort

We kunnen MongoDB ook op een aangepaste poort draaien. We hoeven alleen maar wijzigingen aan te brengen in de mongod.conf het dossier. Als de MongoDB op een andere poort draait, moeten we die poort opgeven in de opdracht:

$ mongo mongodb://localhost:27001

Hier, in de mongo-shell, kunnen we ook de momenteel actieve verbindingen van de databaseserver controleren.

var status = db.serverStatus();
status.connections
{
    "current" : 21,
    "available" : 15979
}

De serverStatus geeft een document terug dat een overzicht geeft van de huidige status van het databaseproces. Regelmatig de serverStatus . uitvoeren commando verzamelt statistieken over de MongoDB-instantie.

3. Verbinding controleren met Java-stuurprogrammacode

Tot nu toe hebben we geleerd om de verbinding met MongoDB te controleren met behulp van de shell. Laten we nu hetzelfde bekijken met behulp van de Java-stuurprogrammacode:

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();
}

In de bovenstaande code hebben we eerst de MongoClientOption . gemaakt builder om de configuraties van de MongoClient aan te passen connectiviteit en maakte vervolgens de MongoClient verbinding met het serveradres. Stel dat de MongoDB-server draait op de 27017 poort van de localhost. Anders wordt de MongoClient  zal een foutmelding geven.


  1. Spring Data RedisTemplate:serialisatie van de waarde en hashwaarde

  2. is er een manier om ObjectId automatisch te genereren wanneer een mangoestmodel nieuw is?

  3. Hoe redis-database te scheiden voor dezelfde twee app in node.js

  4. Hoe rauwe mongodb-bewerkingen in mangoest uitvoeren?