Menu Docs
Página inicial do Docs
/ / /
Controlador Node.js
/ /

Guia de conexão

Nesta página

  • URI de conexão
  • Exemplo de conexão do Atlas
  • Outras maneiras de se conectar ao MongoDB
  • Conecte-se a um servidor MongoDB em sua máquina local
  • Conectar a um conjunto de réplicas
  • Conexão direta

Este guia mostra como se conectar a uma implantação do MongoDB Atlas, a uma instância do MongoDB ou a um conjunto de réplicas usando o driver Node.js.

O URI de conexão é o conjunto de instruções que o driver utiliza para se conectar a uma implantação MongoDB. Ele informa ao driver como se conectar ao MongoDB e como se comportar enquanto estiver conectado. O exemplo a seguir mostra cada parte do URI de conexão:

Cada parte da connection string

Neste exemplo, nos conectamos a um sistema Atlas MongoDB que tem um registro DNS SRV. Para obter mais detalhes, consulte a documentação do Formato de Conexão da Lista de Sementes DNS . Este formato oferece flexibilidade no sistema e a capacidade de alterar os servidores em rotação sem reconfigurar os clientes.

Observação

Para saber como recuperar sua connection string no Atlas, consulte o guia conexão de driver do Atlas.

Se você estiver se conectando a uma instância ou conjunto de réplicas que não tenha um endereço SRV DNS, deverá usar mongodb para o protocolo, que especifica o Formato Padrão de Connection String.

Após o protocolo, a próxima parte da connection string contém as credenciais se você estiver usando a autenticação baseada em senha. Substitua o valor de user pelo seu nome de usuário e pass pela sua senha. Se você estiver usando um mecanismo de autenticação que não requer um nome de usuário e senha, omita esta parte do URI de conexão.

A próxima parte da connection string especifica o nome do host ou endereço IP da sua instância MongoDB, seguido pelo número da porta. No exemplo acima, usamos sample.host como o nome do host e 27017 como a porta. Substitua estes valores para apontar para a sua instância MongoDB.

A última parte da connection string contém opções de conexão e autenticação como parâmetros. No exemplo acima, definimos duas opções de conexão: maxPoolSize=20 e w=majority. Para obter mais informações sobre opções de conexão, vá para a seção Opções de conexão .

Você deve criar um cliente para se conectar a um sistema MongoDB no Atlas. Para criar um cliente, crie uma instância do MongoClient, passando em seu URI e um objeto MongoClientOptions.

Dica

Reutilize seu cliente

Como cada MongoClient representa um conjunto de conexões com o banco de dados, a maioria dos aplicativos requer apenas uma única instância de um MongoClient, mesmo em várias solicitações. Para saber mais sobre como os connection pools funcionam no driver, consulte a página de perguntas frequentes.

Use a opção serverApi no seu objeto MongoClientOptions para habilitar a funcionalidade de API Estável, que força o servidor a executar operações com comportamento compatível com a versão de API especificada.

O código a seguir mostra como você pode especificar a cadeia de conexão e a opção de cliente Stable API ao se conectar a uma implementação do MongoDB no Atlas e verificar se a conexão foi bem-sucedida:

const { MongoClient, ServerApiVersion } = require("mongodb");
// Replace the placeholder with your Atlas connection string
const uri = "<connection string>";
// Create a MongoClient with a MongoClientOptions object to set the Stable API version
const client = new MongoClient(uri, {
serverApi: {
version: ServerApiVersion.v1,
strict: true,
deprecationErrors: true,
}
}
);
async function run() {
try {
// Connect the client to the server (optional starting in v4.7)
await client.connect();
// Send a ping to confirm a successful connection
await client.db("admin").command({ ping: 1 });
console.log("Pinged your deployment. You successfully connected to MongoDB!");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

Observação

O driver Node.js chama automaticamente o método MongoClient.connect() ao usar o cliente para executar operações CRUD em sua implantação do MongoDB. Chame o método MongoClient.connect() explicitamente se quiser verificar se a conexão foi bem-sucedida.

Para saber mais sobre o recurso de API estável, consulte a página de API estável.

Se estiver se conectando a uma única instância ou conjunto de réplicas do MongoDB Server que não esteja hospedado no Atlas, consulte as seções a seguir para saber como se conectar.

Para se conectar a uma MongoDB deployment em sua máquina local, siga as seguintes etapas:

  1. Baixe a versão Comunidade ou Enterprise do MongoDB Server.

  2. Instale e configure o servidor MongoDB.

  3. Inicie o servidor.

Importante

Sempre proteja seu servidor do MongoDB contra ataques maliciosos. Consulte nossa Lista de verificação de segurança para obter uma lista de recomendações de segurança.

Depois de iniciar com êxito o MongoDB Server, especifique a string de conexão no código de conexão do driver.

Se o servidor MongoDB estiver em execução localmente, você poderá usar a seguinte cadeia de conexão:

mongodb://localhost:<port>

Nesta connection string, <port> é o número da porta na qual você configurou o servidor para escutar conexões recebidas.

Se você quiser especificar um nome de host ou endereço IP diferente, consulte a entrada do Manual do servidor sobre cadeias de conexão.

Para testar se você pode se conectar ao seu servidor, substitua a string de conexão no exemplo de código Conectar ao MongoDB e execute-a.

Um sistema do conjunto de réplicas MongoDB é um grupo de instâncias conectadas que armazenam o mesmo conjunto de dados. Esta configuração de instâncias fornece redundância de dados e alta disponibilidade de dados.

Para conectar a um sistema do conjunto de réplicas, especifique o nome do host e os números de porta de cada instância, separados por uma vírgula, e o nome do conjunto de réplicas como o valor do parâmetro replicaSet na connection string.

mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRs

Ao fazer uma conexão, o driver executa as seguintes ação por padrão:

  • Descobre todos os membros do conjunto de réplicas quando recebe o endereço de qualquer membro.

  • Despacha operações para o nó apropriado, como gravação no primário.

Dica

Especificar todos os hosts

Para garantir a conectividade se um host não estiver disponível, forneça a lista completa de hosts ao se conectar a um conjunto de réplicas.

Para forçar a execução de suas operações no host especificado no URI de conexão, você pode especificar a opção de conexão directConnection. Se você especificar esta opção, deverá usar o formato URI de conexão padrão. O driver não aceita o formato de conexão de lista de seeds DNS (SRV) quando você especifica esta opção.

Quando você especifica directConnection e se conecta a um membro secundário do conjunto de réplicas, suas operações de escrita falham porque o cliente não está conectado ao membro primary. Para realizar operações de leitura, você deve habilitar leituras secundárias. Consulte as opções de preferência de leitura para obter mais informações.

Voltar

Conexão