MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Sprawdzanie połączenia z MongoDB

1. Przegląd

W tym samouczku nauczymy się sprawdzać połączenie z MongoDB.

Co ważne, aby połączyć się z pojedynczą instancją MongoDB, musimy określić URI instancji MongoDB.

2. Sprawdzanie połączenia za pomocą powłoki Mongo

W tej sekcji połączymy się z serwerem MongoDB za pomocą polecenia powłoki mongo. Zbadamy różne przypadki łączenia się z MongoDB.

2.1. Sprawdzanie połączenia na porcie domyślnym

Domyślnie MongoDB działa na porcie 27017, ale możemy go również uruchomić na innym porcie. Możemy połączyć się z serwerem MongoDB za pomocą prostego polecenia mongo:

$ 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

W powyższym poleceniu domyślnie MongoDB przyjął port jako 27017 . Jeśli serwer MongoDB nie działa, otrzymujemy następujący błąd:

$ 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

W tym przypadku wystąpił błąd, ponieważ nie mogliśmy połączyć się z serwerem.

2.2. Sprawdzanie połączenia w zabezpieczonej bazie danych MongoDB

MongoDB może być chroniony przez uwierzytelnianie. W takim przypadku musimy podać nazwę użytkownika i hasło w poleceniu:

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

Tutaj użyliśmy nazwy użytkownika „baeldung” i hasło „baeldung”, aby połączyć się z MongoDB uruchomioną na hoście lokalnym.

2.3. Sprawdzanie połączenia na porcie niestandardowym

MongoDB możemy również uruchomić na niestandardowym porcie. Wszystko, co musimy zrobić, to wprowadzić zmiany w pliku mongod.conf plik. Jeśli MongoDB działa na innym porcie, musimy podać ten port w poleceniu:

$ mongo mongodb://localhost:27001

Tutaj, w powłoce mongo, możemy również sprawdzić aktualnie aktywne połączenia serwera bazy danych.

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

Stan serwera zwraca dokument, który zawiera przegląd aktualnego stanu procesu bazy danych. Regularne uruchamianie serverStatus polecenie zbierze statystyki dotyczące instancji MongoDB.

3. Sprawdzanie połączenia za pomocą kodu sterownika Java

Do tej pory nauczyliśmy się sprawdzać połączenie z MongoDB za pomocą powłoki. Teraz spójrzmy na to samo, używając kodu sterownika Java:

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

W powyższym kodzie najpierw utworzyliśmy MongoClientOption kreator do dostosowywania konfiguracji MongoClient łączność, a następnie utworzył MongoClient połączenie z wykorzystaniem adresu serwera. Załóżmy, że serwer MongoDB działa na 27017 port hosta lokalnego. W przeciwnym razie MongoClient zgłosi błąd.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Operatory agregacji MongoDB dla zwracających części dat

  2. Usuń duplikaty podczas używania $unionWith w MongoDB

  3. Wyszukiwanie wyrażeń regularnych MongoDB — zaczyna się od użycia sterownika javascript i NodeJS

  4. Mongodb:Nie udało się połączyć z 127.0.0.1:27017, powód:errno:10061

  5. MongoDB:Używanie dopasowania ze zmiennymi dokumentu wejściowego