sql >> Databáze >  >> NoSQL >> MongoDB

Kontrola připojení k MongoDB

1. Přehled

V tomto tutoriálu se naučíme zkontrolovat spojení s MongoDB.

Pro připojení k jedné instanci MongoDB je důležité zadat URI instance MongoDB.

2. Kontrola připojení pomocí Mongo Shell

V této části se připojíme k serveru MongoDB pomocí příkazu mongo shell. Prozkoumáme různé případy připojení k MongoDB.

2.1. Kontrola připojení na výchozím portu

Ve výchozím nastavení běží MongoDB na portu 27017, ale můžeme to spustit i na nějakém jiném portu. K serveru MongoDB se můžeme připojit pomocí jednoduchého příkazu 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

Ve výše uvedeném příkazu ve výchozím nastavení MongoDB převzal port jako 27017 . Pokud je server MongoDB mimo provoz, zobrazí se následující chyba:

$ 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

V tomto případě došlo k chybě, protože jsme se nemohli připojit k serveru.

2.2. Kontrola připojení na zabezpečené databázi MongoDB

MongoDB lze chránit pomocí ověřování. V takovém případě musíme zadat uživatelské jméno a heslo v příkazu:

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

Zde jsme použili uživatelské jméno „baeldung“ a heslo „baeldung“ pro připojení k MongoDB běžícím na localhost.

2.3. Kontrola připojení na vlastním portu

Můžeme také spustit MongoDB na vlastním portu. Vše, co musíme udělat, je provést změny v mongod.conf soubor. Pokud MongoDB běží na nějakém jiném portu, musíme tento port uvést v příkazu:

$ mongo mongodb://localhost:27001

Zde, v mongo shellu, můžeme také zkontrolovat aktuálně aktivní připojení databázového serveru.

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

serverStatus vrátí dokument, který poskytuje přehled o aktuálním stavu databázového procesu. Pravidelné spouštění serverStatus příkaz bude shromažďovat statistiky o instanci MongoDB.

3. Kontrola připojení pomocí kódu ovladače Java

Zatím jsme se naučili kontrolovat spojení s MongoDB pomocí shellu. Nyní se na to podíváme pomocí kódu ovladače 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();
}

Ve výše uvedeném kódu jsme nejprve vytvořili MongoClientOption builder k přizpůsobení konfigurací MongoClient připojení a poté vytvořili MongoClient připojení pomocí adresy serveru. Předpokládejme, že server MongoDB běží na 27017 port localhost. V opačném případě MongoClient  vyvolá chybu.


  1. MongoDB normalizace, cizí klíč a spojování

  2. MongoDB $not Aggregation Pipeline Operator

  3. Oprava „zeměpisná délka/šířka je mimo hranice“ v MongoDB při vytváření indexu 2dsphere

  4. Porovnání dat v mongodb