Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/

Cadeias de conexão

Nesta página

  • Compatibilidade
  • Encontre sua connection string do MongoDB Atlas
  • Encontre a connection string do seu sistema auto-hospedado
  • Formatos de cadeia de conexão
  • Formato de conexão SRV
  • Formato de connection string padrão

➤ Use o menu suspenso Selecione a linguagem no canto superior direito para definir a linguagem dos exemplos a seguir.


Você pode usar strings de conexão para definir conexões entre instâncias do MongoDB e os seguintes destinos:

  • Seus aplicativos quando você se conecta usando o drivers.

  • Ferramentas como MongoDB Compass e o MongoDB Shell (mongosh).

Você pode usar cadeias de conexão para se conectar a implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

Conclua estas etapas para encontrar sua connection string.

Para localizar sua string de conexão do MongoDB Atlas usando Atlas CLI, instale e conecte a partir do Atlas CLI e execute o seguinte comando. Substitua <clusterName> pelo nome do MongoDB Atlas cluster e substitua <projectId> pelo ID do projeto.

atlas clusters connectionStrings describe <clusterName> --projectId <projectId>

Para saber mais, consulte descrição de connectionStrings em cluster do Atlas.

Para localizar sua string de conexão do MongoDB Atlas na IU do Atlas, siga estas etapas:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

2
  1. Clique em Connect para o cluster ao qual você deseja se conectar.

  2. Clique em Choose a Connection Method. O MongoDB Atlas seleciona Standard Connection por padrão. Para se conectar usando um endpoint privado, selecione Private Endpoint.

3

Para se conectar ao seu aplicativo, clique em Drivers. Para se conectar usando ferramentas, clique na ferramenta que deseja usar para acessar seus dados.

4
  1. Se você selecionou Drivers, selecione seu driver e versão. Se você selecionou uma ferramenta, faça o download da ferramenta.

  2. Selecione Connect To Cluster.

  3. Copie a string de conexão. Substitua <password> e <username> na string de conexão pelas credenciais do usuário do banco de dados.

Sua string de conexão do MongoDB Atlas é semelhante ao exemplo a seguir:

mongosh "mongodb+srv://cluster0.example.mongodb.net myFirstDatabase" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority

Se você estiver conectado à implantação do MongoDB Enterprise ou MongoDB Community auto-hospedado, execute o método db.getMongo() para retornar a cadeia de conexão.

Se não estiver conectado à sua implantação, você poderá determinar sua string de conexão com base no tipo de conexão que deseja usar. Consulte Formato de conexão SRV para conhecer a sintaxe da string de conexão SRV ou Formato de string de conexão padrão para conhecer a sintaxe da string de conexão padrão.

Sua cadeia de conexão auto-hospedada é semelhante aos exemplos a seguir:

A cadeia de conexão do conjunto de réplicas a seguir inclui estes elementos:

  • A opção replicaSet

  • O(s) nome(s) de host da(s) instância(s) mongod conforme listado(s) na configuração do conjunto de réplicas

  • Ele se autentica como usuário myDatabaseUser com a senha D1fficultP%40ssw0rd para forçar o controle de acesso

mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl

Se o nome de usuário ou a senha incluir os caracteres a seguir, esses caracteres deverão ser convertidos usando a codificação de porcentagem:

$ : / ? # [ ] @

A seguinte string de conexão de cluster fragmentado inclui os seguintes elementos:

mongosh "mongodb+srv://mongos0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

A seguinte string de conexão é autenticada como usuário myDatabaseUser com a senha D1fficultP%40ssw0rd para impor o controle deacesso:

mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

A cadeia de conexão do conjunto de réplicas a seguir inclui estes elementos:

mongosh "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

A seguinte string de conexão de cluster fragmentado inclui os seguintes elementos:

mongosh "mongodb://mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

A seguinte sequência de conexão autônoma impõe o controle de acesso:

mongosh "mongodb://@mongodb0.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

Para obter uma lista completa de opções de string de conexão, consulte Formato de conexão SRV ou Formato de string de conexão padrão. Para obter mais exemplos, consulte Exemplos de string de conexão.

Você pode especificar a cadeia de conexão do MongoDB usando um dos seguintes formatos:

Os clusters do MongoDB Atlas usam o formato de conexão SRV, a menos que você se conecte a um arquivo online.

O MongoDB oferece suporte a uma lista de sementes construídaDNS . Usar o DNS para construir a lista de servidores disponíveis permite maior flexibilidade de implantação e a capacidade de alterar os servidores em rotação sem reconfigurar os clientes.

O esquema de conexão do URI do SRV tem o seguinte formulário:

mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]

Para obter mais exemplos, consulte Exemplos de string de conexão.

Uma connection string inclui os seguintes componentes:

Componente
Descrição
mongodb:// ou mongodb+srv://
Um prefixo necessário para identificar que esta é uma string no formato de conexão padrão (mongodb://) ou no formato de conexão SRV (mongodb+srv://). Para saber mais sobre cada formato, consulte Formato de string de conexão padrão e Formato de conexão SRV.
username:password@

Opcional. Credenciais de autenticação.

Se especificado, o cliente tentará autenticar o usuário no authSource. Se o authSource não for especificado, o cliente tentará autenticar o usuário no defaultauthdb. E se o defaultauthdb não for especificado, para o banco de banco de dados do admin .

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

Consulte também authSource.

host[:port]

O host (e o número da porta opcional) em que a instância mongod (ou mongos para um cluster fragmentado) está sendo executada. Você pode especificar um nome de host, endereço IP ou soquete de domínio UNIX. Especifique quantos hosts forem apropriados para sua topologia de implantação:

  • Para um standalone, especifique o nome do host da instância de mongod standalone.

  • Para um conjunto de réplica, especifique o(s) nome(s) de host da(s) instância(s) do mongod como listado na configuração do conjunto de réplicas.

  • Para um cluster fragmentado, especifique o(s) nome(s) de host da(s) instância(s) mongos.

Se o número da porta não for especificado, a porta padrão 27017 será usada.

Se você usar o formato de conexão URI do SRV, poderá especificar somente um host e nenhuma porta. Caso contrário, o driver ou o mongosh levanta um erro de análise e não executa a resolução de DNS.

/defaultauthdb

Opcional. O banco de banco de dados de autenticação para utilizar se a string de conexão incluir credenciais de autenticação do username:password@ mas a opção authSource não for especificada.

Se tanto authSource quanto defaultauthdb não forem especificados, o cliente tentará autenticar o usuário especificado no banco de banco de dados do admin .

?<options>

Opcional. Uma string de consulta que especifica opções específicas de conexão como <name>=<value> pares. Consulte Opções de connection string para obter uma descrição completa dessas opções.

Se a string de conexão não especificar um banco de dados/você deve especificar uma barra (/) entre os últimos host e o ponto de interrogação (?) que inicia a string de opções.

Para aproveitar a lista de sementes do DNS, use a mesma sintaxe de uma string de conexão padrão com um prefixo mongodb+srv em vez do padrão mongodb. O +srv indica ao cliente que o nome do host a seguir corresponde a um registro DNS SRV. O driver ou o mongosh consultará o DNS em busca do registro para determinar quais hosts estão executando as instâncias mongod ou mongos.

Observação

O uso do modificador de string de conexão true define automaticamente a opção +srv ou equivalente tls ssl a conexão. Você pode substituir este comportamento configurando explicitamente a opção tls (ou ssl equivalente) para false com tls=false (ou ssl=false) na string de consulta.

Ao usar o formato +srv, você deve especificar hostname, domain e top-level domain (TLD) no seguinte formato: <hostname>.<domain>.<TLD>. Essa tabela mostra como os espaços reservados correspondem aos valores de exemplo:

Espaço reservado
Exemplo
<hostname>
server
<domain>
example
<TLD>
com
<hostname>.<domain>.<TLD>
server.example.com

Este exemplo mostra uma connection string da lista de sementes de DNS que usa corretamente o formato <hostname>.<domain>.<TLD>. Ele autentica como usuário myDatabaseUser com a senha D1fficultP%40ssw0rd:

mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/

A configuração de DNS correspondente é semelhante a:

Record TTL Class Priority Weight Port Target
_mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27317 mongodb1.example.com.
_mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27017 mongodb2.example.com.

Os registros SRV individuais devem estar no formato _mongodb._tcp.<hostname>.<domain>.<TLD>.

Quando um cliente se conecta a um membro da lista de sementes, ele recupera uma lista de membros do conjunto de réplicas aos quais ele pode se conectar. Os clientes geralmente usam aliases DNS em suas listas de sementes, o que significa que o host pode retornar uma lista de servidores diferente da lista de sementes original. Se isso acontecer, os clientes usarão os nomes de host fornecidos pelo conjunto de réplicas em vez dos nomes de host listados na lista de sementes para garantir que os membros do conjunto de réplicas possam ser alcançados por meio dos nomes de host na configuração do conjunto de réplicas resultante.

Importante

Os nomes de host retornados nos registros SRV devem compartilhar o mesmo domínio pai (neste exemplo, example.com) do nome de host fornecido. Se os domínios pai e o nome de host não corresponderem, você não poderá se conectar.

Este exemplo mostra uma connection string de lista de sementes de DNS sem <hostname>. Isso está incorreto e gera um erro.

# This connection string is missing the <hostname> and raises a connection error
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@example.com/

Assim como a connection string padrão, a connection string da lista de sementes de DNS oferece suporte à especificação de opções como uma string de query. Com uma connection string de lista de sementes de DNS, você também pode especificar as seguintes opções por meio de um registro TXT:

  • replicaSet

  • authSource

Você só pode especificar um registro TXT por instância do mongod. Se vários registros TXT forem exibidos no DNS e/ou se o registro TXT contiver uma opção diferente de replicaSet ou authSource, o cliente retornará um erro.

O registro TXT para a entrada de DNS do server.example.com se assemelharia a:

Record TTL Class Text
server.example.com. 86400 IN TXT "replicaSet=mySet&authSource=authDB"

Juntos, os registros DNS SRV e as opções especificadas no registro TXT resultam na seguinte cadeia de conexão de formato padrão:

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?replicaSet=mySet&authSource=authDB

Você pode substituir as opções especificadas em um registro TXT passando a opção na string de query. No exemplo a seguir, a string de query forneceu uma substituição para a opção authSource configurada no registro TXT da entrada DNS acima.

mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/?connectTimeoutMS=300000&authSource=aDifferentAuthDB

Dada a substituição de authSource, a connection string equivalente no formato padrão seria:

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?connectTimeoutMS=300000&replicaSet=mySet&authSource=aDifferentAuthDB

Observação

A opção mongodb+srv falhará se não houver DNS disponível com registros que correspondam ao nome do host identificado na string de conexão. Se você usar o string de conexão +srv , a opção tls (ou ssl equivalente) é definida como true para a conexão. Você pode substituir este comportamento configurando explicitamente a opção tls (ou ssl equivalente) para false com tls=false (ou ssl=false) na string de consulta.

Para ver um exemplo que conecta o mongosh a um conjunto de réplicas usando o formato de conexão de lista de sementes DNS, consulte Opções de conexão do mongosh.

Esta seção descreve o formato padrão do URI de conexão do MongoDB usado para conectar-se a uma implantação autônoma, conjunto de réplicas ou cluster fragmentado do MongoDB auto-hospedado.

O esquema de conexão URI padrão tem o formulário:

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

Para obter mais exemplos, consulte Exemplos de string de conexão.

Uma connection string inclui os seguintes componentes:

Componente
Descrição
mongodb:// ou mongodb+srv://
Um prefixo necessário para identificar que esta é uma string no formato de conexão padrão (mongodb://) ou no formato de conexão SRV (mongodb+srv://). Para saber mais sobre cada formato, consulte Formato de string de conexão padrão e Formato de conexão SRV.
username:password@

Opcional. Credenciais de autenticação.

Se especificado, o cliente tentará autenticar o usuário no authSource. Se o authSource não for especificado, o cliente tentará autenticar o usuário no defaultauthdb. E se o defaultauthdb não for especificado, para o banco de banco de dados do admin .

Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:

$ : / ? # [ ] @

Consulte também authSource.

host[:port]

O host (e o número da porta opcional) em que a instância mongod (ou mongos para um cluster fragmentado) está sendo executada. Você pode especificar um nome de host, endereço IP ou soquete de domínio UNIX. Especifique quantos hosts forem apropriados para sua topologia de implantação:

  • Para um standalone, especifique o nome do host da instância de mongod standalone.

  • Para um conjunto de réplica, especifique o(s) nome(s) de host da(s) instância(s) do mongod como listado na configuração do conjunto de réplicas.

  • Para um cluster fragmentado, especifique o(s) nome(s) de host da(s) instância(s) mongos.

Se o número da porta não for especificado, a porta padrão 27017 será usada.

Se você usar o formato de conexão URI do SRV, poderá especificar somente um host e nenhuma porta. Caso contrário, o driver ou o mongosh levanta um erro de análise e não executa a resolução de DNS.

/defaultauthdb

Opcional. O banco de banco de dados de autenticação para utilizar se a string de conexão incluir credenciais de autenticação do username:password@ mas a opção authSource não for especificada.

Se tanto authSource quanto defaultauthdb não forem especificados, o cliente tentará autenticar o usuário especificado no banco de banco de dados do admin .

?<options>

Opcional. Uma string de consulta que especifica opções específicas de conexão como <name>=<value> pares. Consulte Opções de connection string para obter uma descrição completa dessas opções.

Se a string de conexão não especificar um banco de dados/você deve especificar uma barra (/) entre os últimos host e o ponto de interrogação (?) que inicia a string de opções.

Voltar

Locais e Parâmetros Padrão