Visão geral
Neste guia, você pode aprender como utilizar uma string de conexão e um objeto do MongoClient
para conectar a diferentes tipos de sistemas MongoDB .
Dica
Para saber mais sobre como recuperar sua string de conexão, consulte o guia Conectar via drivers na documentação do Atlas.
Atlas
Para se conectar a uma MongoDB deployment no Atlas, inclua os seguintes elementos em sua connection string:
URL do seu cluster Atlas
Nome de usuário do MongoDB
Senha do MongoDB
Em seguida, passe sua connection string para o construtor MongoClient
.
Ao se conectar ao Atlas, recomendamos usar a opção de cliente Stable API para evitar alterações significativas quando o Atlas atualizar para uma nova versão do MongoDB Server. Para saber mais sobre o recurso de Stable API , consulte o guia deStable API .
O código abaixo mostra como usar o driver Node.js para se conectar a um Atlas cluster. O código também usa o campo server_api
para especificar uma versão da API estável.
const { MongoClient, ServerApiVersion } = require("mongodb"); // Replace the placeholder with your Atlas connection string const uri = "<connection string>"; // Creates 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 { // Connects the client to the server (optional starting in v4.7) await client.connect(); // Sends 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);
Implantações locais
Para se conectar a uma implantação local do MongoDB autônomo , especifique o host do servidor. Opcionalmente, especifique a porta do servidor. Se nenhuma porta for especificada, a porta padrão será 27017
.
Você pode especificar o host e a porta aos quais se conectar usando uma string de conexão, conforme mostrado no código a seguir:
const client = new MongoClient("mongodb://host1:27017");
Você também pode especificar seu host como localhost
. O seguinte exemplo de código se conecta ao localhost
na porta especificada:
const client = new MongoClient("mongodb://localhost:27017");
Conjuntos de réplicas
Para se conectar a um conjunto de réplicas, recomendamos que você especifique todos os nós que fazem parte do conjunto de réplicas. Se um ou mais nós ficarem indisponíveis, especificar todos os nós permite que o driver ainda se conecte ao conjunto de réplicas se um nó estiver disponível.
No entanto, é suficiente passar o endereço de qualquer nó do conjunto de réplicas para o driver. O nó não precisa ser o primário, e pode ser um nó oculto. Em seguida, o driver descobrirá automaticamente os nós restantes.
O exemplo a seguir mostra como se conectar ao conjunto de réplicas usando uma string de conexão e como verificar o nome do conjunto de réplicas na conexão usando a opção de string de conexão replicaSet
:
const client = new MongoClient("mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRs");
Observação
Conjunto de réplicas no Docker
Quando um conjunto de réplicas é executado no Docker, ele pode expor apenas um endpoint MongoDB . Nesse caso, o conjunto de réplicas não é detectável. Especificar directConnection=false
em seu URI de conexão ou deixar essa opção sem definir pode impedir que seu aplicação se conecte a ele.
Em um ambiente de teste ou desenvolvimento, é possível conectar-se ao conjunto de réplicas especificando directConnection=true
. Em um ambiente de produção, recomendamos configurar o cluster para que cada instância do MongoDB seja acessível fora da rede virtual do Docker.
Descoberta de serviço DNS
Para usar a descoberta de serviços DNS para procurar o registro DNS SRV do serviço ao qual você está se conectando, especifique o formato de conexão SRV em sua string de conexão. Se você especificar este formato, o driver do Node.js reanalisa automaticamente para novos hosts. Seu sistema pode adicionar hosts à topologia sem exigir alterações na configuração do cliente .
O código a seguir mostra uma string de conexão que usa o formato de conexão SRV:
const uri = "mongodb+srv://<hostname>/"
Para saber mais sobre o formato de conexão SRV, consulte a entrada Formato de conexão SRV no manual do MongoDB Server.
Documentação da API
Para saber mais sobre como criar um objeto MongoClient
com o driver Node.js, consulte a documentação da API do MongoClient .