sql >> Databasteknik >  >> NoSQL >> MongoDB

Kontrollerar anslutningen till MongoDB

1. Översikt

I den här handledningen lär vi oss att kontrollera kopplingen till MongoDB.

Viktigt för att ansluta till en enskild MongoDB-instans måste vi ange URI för MongoDB-instansen.

2. Kontrollera anslutningen med Mongo Shell

I det här avsnittet ansluter vi till MongoDB-servern med kommandot mongo shell. Vi kommer att utforska olika fall av anslutning till MongoDB.

2.1. Kontrollera anslutningen på standardporten

Som standard körs MongoDB på port 27017, men vi kan också köra det på någon annan port. Vi kan ansluta till MongoDB-servern med det enkla mongo-kommandot:

$ 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

I kommandot ovan antog MongoDB som standard porten som 27017 . Om MongoDB-servern är nere får vi följande felmeddelande:

$ 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

I det här fallet fick vi felet eftersom vi inte kunde ansluta till servern.

2.2. Kontrollera anslutning på säker MongoDB-databas

MongoDB kan skyddas med autentisering. I så fall måste vi skicka användarnamnet och lösenordet i kommandot:

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

Här använde vi användarnamnet "baeldung" och lösenordet "baeldung" för att ansluta till MongoDB som körs på localhost.

2.3. Kontrollera anslutningen på anpassad port

Vi kan också köra MongoDB på en anpassad port. Allt vi behöver göra är att göra ändringar i mongod.conf fil. Om MongoDB körs på någon annan port måste vi tillhandahålla den porten i kommandot:

$ mongo mongodb://localhost:27001

Här, i mongo-skalet, kan vi också kontrollera de för närvarande aktiva anslutningarna till databasservern.

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

serverstatus returnerar ett dokument som ger en översikt över den aktuella statusen för databasprocessen. Kör regelbundet serverStatus kommer att samla in statistik om MongoDB-instansen.

3. Kontrollera anslutningen med Java-drivrutinskod

Hittills har vi lärt oss att kontrollera kopplingen till MongoDB med hjälp av skalet. Låt oss nu titta på detsamma med Java-drivrutinskod:

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

I koden ovan skapade vi först MongoClientOption byggare för att anpassa konfigurationerna för MongoClient anslutning och skapade sedan MongoClient anslutning med serveradressen. Anta att MongoDB-servern körs på 27017 porten för den lokala värden. Annars, MongoClient  kommer att ge ett fel.


  1. Använda Hive för att interagera med HBase, del 1

  2. jackson avserialisera objekt med lista över vårens gränssnitt

  3. Använder .sort med PyMongo

  4. $unionWith – MongoDB:s motsvarighet till UNION ALL