MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Verificando a conexão com o MongoDB

1. Visão geral


Neste tutorial, aprenderemos a verificar a conexão com o MongoDB.

Importante para se conectar a uma única instância do MongoDB, precisamos especificar o URI da instância do MongoDB.

2. Verificando a conexão usando o Mongo Shell


Nesta seção, nos conectaremos ao servidor MongoDB usando o comando shell mongo. Exploraremos diferentes casos de conexão ao MongoDB.

2.1. Verificando a conexão na porta padrão


Por padrão, o MongoDB é executado na porta 27017, mas também podemos executá-lo em alguma outra porta. Podemos nos conectar ao servidor MongoDB usando o comando mongo simples:
$ 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

No comando acima, por padrão, o MongoDB assumiu a porta como 27017 . Se o servidor MongoDB estiver inativo, obtemos o seguinte erro:
$ 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

Nesse caso, recebemos o erro porque não conseguimos nos conectar ao servidor.

2.2. Verificando a conexão no banco de dados MongoDB seguro


O MongoDB pode ser protegido com autenticação. Nesse caso, precisamos passar o nome de usuário e a senha no comando:
$ mongo mongodb://baeldung:[email protected]:27017

Aqui usamos o nome de usuário “baeldung” e a senha “baeldung” para se conectar ao MongoDB rodando no localhost.

2.3. Verificando a conexão na porta personalizada


Também podemos executar o MongoDB em uma porta personalizada. Tudo o que precisamos fazer é fazer alterações no mongod.conf Arquivo. Se o MongoDB estiver rodando em alguma outra porta, precisamos fornecer essa porta no comando:
$ mongo mongodb://localhost:27001

Aqui, no shell do mongo, também podemos verificar as conexões atualmente ativas do servidor de banco de dados.
var status = db.serverStatus();
status.connections
{
    "current" : 21,
    "available" : 15979
}

O serverStatus retorna um documento que fornece uma visão geral do status atual do processo do banco de dados. Executando regularmente o serverStatus O comando coletará estatísticas sobre a instância do MongoDB.

3. Verificando a conexão usando o código do driver Java


Até agora, aprendemos a verificar a conexão com o MongoDB usando o shell. Agora vamos analisar o mesmo usando o código do driver 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();
}

No código acima, primeiro criamos a MongoClientOption builder para personalizar as configurações do MongoClient conectividade e criou o MongoClient conexão usando o endereço do servidor. Suponha que o servidor MongoDB esteja sendo executado no 27017 porta do host local. Caso contrário, o MongoClient  lançará um erro.