Cadeias de conexão
Nesta página
➤ 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).
Compatibilidade
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.
Encontre sua connection string do MongoDB Atlas
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:
Na interface do usuário do MongoDB Atlas, vá para a Clusters página do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Se ainda não estiver exibido, clique em Clusters na barra lateral.
A página Clusters é exibida.
Abra a Connection Method caixa de diálogo.
Clique em Connect para o cluster ao qual você deseja se conectar.
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.
Siga as instruções para o método de conexão que você selecionou.
Se você selecionou Drivers, selecione seu driver e versão. Se você selecionou uma ferramenta, faça o download da ferramenta.
Selecione Connect To Cluster.
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
Encontre a connection string do seu sistema auto-hospedado
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éplicasEle se autentica como usuário
myDatabaseUser
com a senhaD1fficultP%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:
Os hosts
mongos
na string de conexãoEle se autentica como usuário
myDatabaseUser
com a senhaD1fficultP%40ssw0rd
para forçar o controle de acesso
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:
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éplicasUm nome de usuário e senha para impor o controle de acesso:
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:
Os hosts
mongos
na string de conexãoUm nome de usuário e uma senha para impor o controle de acesso
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.
Formatos de cadeia de conexão
Você pode especificar a cadeia de conexão do MongoDB usando um dos seguintes formatos:
Formato de conexão SRV: uma string de conexão com um nome de host que corresponde a um registro SRV do DNS. Seu driver ou
mongosh
query o registro para determinar quais hosts estão executando as instânciasmongod
oumongos
.Formato padrão de string de conexão: uma string de conexão que especifica todos os hosts que estão executando as instâncias do
mongod
oumongos
.
Os clusters do MongoDB Atlas usam o formato de conexão SRV, a menos que você se conecte a um arquivo online.
Formato de conexão SRV
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.
Componentes da connection string
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 Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:
Consulte também | |
host[:port] | O host (e o número da porta opcional) em que a instância
Se o número da porta não for especificado, a porta padrão 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 | |
/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 Se tanto | |
?<options> | Opcional. Uma string de consulta que especifica opções específicas de conexão como Se a string de conexão não especificar um banco de dados/você deve especificar uma barra ( |
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
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.
Formato de connection string padrão
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.
Componentes da connection string
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 Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres devem ser convertidos usando codificação percentual:
Consulte também | |
host[:port] | O host (e o número da porta opcional) em que a instância
Se o número da porta não for especificado, a porta padrão 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 | |
/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 Se tanto | |
?<options> | Opcional. Uma string de consulta que especifica opções específicas de conexão como Se a string de conexão não especificar um banco de dados/você deve especificar uma barra ( |