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.