sql >> Base de Datos >  >> NoSQL >> MongoDB

Comprobando la conexión a MongoDB

1. Resumen

En este tutorial, aprenderemos a verificar la conexión con MongoDB.

Es importante destacar que para conectarse a una sola instancia de MongoDB, debemos especificar el URI de la instancia de MongoDB.

2. Comprobación de la conexión mediante Mongo Shell

En esta sección, nos conectaremos al servidor MongoDB usando el comando de shell mongo. Exploraremos diferentes casos de conexión a MongoDB.

2.1. Comprobación de la conexión en el puerto predeterminado

De forma predeterminada, MongoDB se ejecuta en el puerto 27017, pero también podemos ejecutarlo en algún otro puerto. Podemos conectarnos al servidor MongoDB usando el simple comando 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

En el comando anterior, por defecto, MongoDB asumió el puerto como 27017 . Si el servidor MongoDB está inactivo, obtenemos el siguiente error:

$ 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

En este caso, obtuvimos el error porque no pudimos conectarnos al servidor.

2.2. Comprobación de la conexión en la base de datos MongoDB segura

MongoDB se puede proteger con autenticación. En ese caso, necesitamos pasar el nombre de usuario y la contraseña en el comando:

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

Aquí usamos el nombre de usuario “baeldung” y la contraseña "baeldung" para conectarse a MongoDB que se ejecuta en localhost.

2.3. Comprobando la conexión en el puerto personalizado

También podemos ejecutar MongoDB en un puerto personalizado. Todo lo que tenemos que hacer es hacer cambios en el mongod.conf expediente. Si MongoDB se ejecuta en algún otro puerto, debemos proporcionar ese puerto en el comando:

$ mongo mongodb://localhost:27001

Aquí, en el shell de mongo, también podemos verificar las conexiones actualmente activas del servidor de la base de datos.

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

El estado del servidor devuelve un documento que ofrece una descripción general del estado actual del proceso de la base de datos. Ejecutar regularmente serverStatus El comando recopilará estadísticas sobre la instancia de MongoDB.

3. Comprobación de la conexión mediante el código del controlador Java

Hasta ahora, hemos aprendido a verificar la conexión con MongoDB usando el shell. Ahora veamos lo mismo usando el código del controlador 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();
}

En el código anterior, primero creamos la MongoClientOption constructor para personalizar las configuraciones del MongoClient conectividad, luego creó el MongoClient conexión utilizando la dirección del servidor. Supongamos que el servidor MongoDB se ejecuta en el 27017 puerto del host local. De lo contrario, el MongoClient  arrojará un error.