Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Conectar-se a uma implantação

Esta página mostra como usar o MongoDB Shell para se conectar a uma implantação MongoDB. Você pode se conectar a uma implantação hospedada em nuvem do MongoDB Atlas, se conectar a uma implantação local ou se conectar a outro host remoto com o MongoDB Shell.

Para usar o MongoDB Shell, você deve ter uma implantação MongoDB para se conectar.

  • Para uma implantação gratuita hospedada na nuvem, você pode usar o MongoDB Atlas.

  • Para saber como executar uma implantação do MongoDB, consulte Instalar o MongoDB.

Você pode usar o MongoDB Shell para se conectar à versão 7.0 do MongoDB ou superior.

Estes procedimentos pressupõem que você já tenha instalado mongosh. Para obter mais informações sobre como instalar o mongosh, consulte Instalar o mongosh.

Você pode se conectar à implantação do MongoDB Atlas diretamente do seu shell.

1

Você precisa de uma connection string do Atlas para conectar a partir do MongoDB Shell. Você pode obter a connection string do Atlas na UI do Atlas.

Consulte o guia Find Your MongoDB Atlas Connection String para obter detalhes.

2

Se você ainda não tiver criado um usuário de banco de dados, deverá definir um nome de usuário e senha. Para se conectar ao Atlas, passe seu nome de usuário com a string de conexão do Atlas. Depois de emitir o comando connect, o shell solicita sua senha.

3

Para estabelecer sua conexão, execute o comando mongosh com sua connection string e opções para estabelecer a conexão.

A cadeia de caracteres de conexão inclui os seguintes elementos:

  • O nome do seu cluster

  • Um hash

  • Uma bandeira para a versão da API

  • Uma bandeira para o nome de usuário que você deseja usar para se conectar

Ele se parece com a seguinte cadeia de caracteres:

mongosh "mongodb+srv://YOUR_CLUSTER_NAME.YOUR_HASH.mongodb.net/" --apiVersion YOUR_API_VERSION --username YOUR_USERNAME

Observação

Saiba mais

Você pode utilizar outras opções de segurança de conexão para conectar ao Atlas via mongosh. Para obter informações sobre a conexão com um IP privado para peering ou uma conexão por private endpoint, consulte a documentação do Atlas Connect via mongosh.

Para se conectar a uma MongoDB deployment em execução no localhost com a default port 27017, execute mongosh sem nenhuma opção:

mongosh

Isso equivale ao seguinte comando:

mongosh "mongodb://localhost:27017"

Para especificar uma porta à qual se conectar no localhost, você pode usar:

Por exemplo, os seguintes comandos conectam a uma implantação executando na porta 28015 do localhost:

mongosh "mongodb://localhost:28015"
mongosh --port 28015

Para especificar um host e uma porta remota, você pode usar:

  • Uma string de conexão com o host e a porta escolhidos.

  • As opções de linha de comando --host e --port . Se você omitir a opção --port , mongosh usará a porta padrão 27017.

Por exemplo, os comandos a seguir se conectam a uma MongoDB deployment em execução no host mongodb0.example.com e na porta 28015:

mongosh "mongodb://mongodb0.example.com:28015"
mongosh --host mongodb0.example.com --port 28015

Observação

Ligar ao MongoDB Atlas

Se o seu host remoto for um cluster do Atlas, você poderá copiar sua string de conexão da IU do Atlas. Para saber mais, consulte Conectar a um cluster na documentação do Atlas.

Especifique diferentes connecting options para se conectar a diferentes tipos de implantações.

Para se conectar a uma MongoDB deployment que exija autenticação, use as opções --username e --authenticationDatabase. mongosh solicita uma senha, que oculta conforme você digita.

Por exemplo, para autenticar como usuário alice no banco de dados do admin, execute o seguinte comando:

mongosh "mongodb://mongodb0.example.com:28015" --username alice --authenticationDatabase admin

Para fornecer uma senha como parte do comando de conexão em vez de usar o prompt, use a opção --password. Use essa opção para uso programático de mongosh, como um driver.

Dica

Para se conectar a um sistema usando o OpenID Connect, use a opção e --authenticationMechanism defina-a MONGODB-OIDC como. mongosh redireciona-o para um navegador onde você insere as informações de login do seu provedor de identidade.

Observação

Por padrão, o mongosh faz as solicitações dos escopos oidc e offline_access do provedor de identidade (IdP). Se o provedor de identidade não suporta nem oidc nem offline_access, mongosh não solicitará esses escopos. Se o provedor de identidade oferece suporte a oidc, mas não a offline_access, você deverá autenticar novamente com frequência. Para aprender mais, veja campos oidcIdentityProviders.

Por exemplo, o seguinte conecta a uma implantação local utilizando o MONGODB-OIDC:

mongosh "mongodb://localhost/" --authenticationMechanism MONGODB-OIDC

Para se conectar a uma implantação usando o LDAP:

Aviso

Quando você usa senhas únicas com autenticação LDAP, é recomendável adicionar as opções de maxPoolSize=1&srvMaxHosts=1 string de conexão à sua string de conexão para reduzir o potencial de falhas de conexão.

Inclua o --host e o --port da MongoDB deployment, juntamente com quaisquer outras opções relevantes para sua implantação.

Por exemplo, a operação a seguir autentica uma MongoDB deployment em execução com autenticação e autorização LDAP:

mongosh --username alice@dba.example.com --password --authenticationDatabase '$external' --authenticationMechanism "PLAIN" --host "mongodb.example.com" --port 27017

Para se conectar a um conjunto de réplicas, você pode:

Importante

Quando um conjunto de réplicas é executado no Docker, ele pode expor apenas um ponto de extremidade do MongoDB. Neste caso, o conjunto de réplicas não é detectável, e especificar directConnection=false pode impedir que seu aplicativo se conecte a ele.

Em um ambiente de teste ou desenvolvimento, você pode se conectar ao conjunto de réplicas especificando directConnection=true na URI de conexão. 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.

Para usar o formato de conexão de seedlist de DNS, inclua o modificador +srv em sua connection string.

Por exemplo, para conectar a um conjunto de réplica no server.example.com, execute o seguinte comando:

mongosh "mongodb+srv://server.example.com/"

Observação

Comportamento TLS +srv

Quando você usa o connection string +srv, o MongoDB define automaticamente a opção de conexão--tls como true. Para substituir este comportamento, defina --tls como false.

Você pode especificar membros individuais do conjunto de réplicas na string de conexão.

Por exemplo, para conectar a um conjunto de réplica de três membros denominado replA, execute o seguinte comando:

mongosh "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"

Observação

Parâmetro DirectConnection adicionado automaticamente

Quando você especifica membros individuais do conjunto de réplicas na connection string, mongosh adiciona automaticamente o parâmetro directConnection=true, a menos que pelo menos uma das seguintes opções seja verdadeira:

  • O parâmetro de consulta replicaSet está presente na connection string.

  • A connection string utiliza o formato de connection string do mongodb+srv://.

  • A connection string contém uma lista de sementes com vários hosts.

  • A connection string já contém um parâmetro directConnection.

Quando directConnection=true, o hospedar especificado no URI de conexão executa todas as operações e mongosh ignora todas as preferências de leitura, incluindo as preferências explicitamente definidas.

Para se conectar a uma implantação usando TLS, você pode:

  • +srv Use o tls formato de conexão de lista true de seed de DNS. O modificador da string de conexão define automaticamente a opção como para a conexão.

    Por exemplo, para conectar a um conjunto de réplicas definido por lista de sementes de DNS com tls habilitado, execute o seguinte comando:

    mongosh "mongodb+srv://server.example.com/"
  • Configure a opção --tls para true na connection string.

    Por exemplo, para habilitar o tls com uma opção de connection string, execute o seguinte comando:

    mongosh "mongodb://mongodb0.example.com:28015/?tls=true"
  • Especifique a opção de linha de comando --tls.

    Por exemplo, para conectar a um host remoto com tls habilitado, execute o seguinte comando:

    mongosh "mongodb://mongodb0.example.com:28015" --tls

Para se conectar a um banco de dados padrão específico, especifique um banco de dados no caminho de URI da string de conexão . Se não for especificado pela string de conexão, o banco de dados padrão será o test banco de dados .

Por exemplo, para conectar a um banco de dados denominado qa no localhost, execute o seguinte comando:

mongosh "mongodb://localhost:27017/qa"

Você pode especificar o banco de dados de autenticação em sua string de conexão usando a opção de conexãoauthSource. Se especificado, o cliente utiliza este banco de dados para verificar sua identidade de usuário e credenciais. SeauthSourcenão for especificado, será padronizado para o banco de dados padrão especificado na string de conexão. Se tantoauthSourcequanto o banco de dados padrão não forem especificados, authSourcepadronizará para o banco de dados admin.

A seguinte string de conexão define o banco de dados padrão como myDefaultDB e o banco de dados de autenticação como admin:

mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/myDefaultDB?authSource=admin

Para estabelecer uma conexão com configurações de proxy, você pode usar as seguintes variáveis de ambiente:

Variável
Descrição
Exemplo

MONGODB_PROXY

Conexões de provisionamento com URLs mongodb:// e mongodb+srv://, como clusters de banco de dados.

O exemplo a seguir define a variável de ambiente MONGODB_PROXY para fazer proxy de todas as conexões do MongoDB por meio de um proxy CONNECT localizado em example.com:8080 com TLS ativado.

export MONGODB_PROXY=https://example.com:8080

HTTP_PROXY

Conexões proxy para URLs http://. As conexões HTTP são usadas principalmente para autenticação OIDC.

Se você também definir HTTPS_PROXY, o valor de HTTPS_PROXY terá precedência para todas as solicitações.

O exemplo a seguir define a variável de ambiente HTTP_PROXY como proxy de conexões HTTP por meio de um proxy CONNECT localizado em example.com:8080:

export HTTP_PROXY=http://example.com:8080

HTTPS_PROXY

Conexões proxy para URLs https://. As conexões HTTPS são usadas principalmente para autenticação OIDC.

Se você também definir HTTP_PROXY, o valor de HTTPS_PROXY terá precedência para todas as solicitações.

O exemplo a seguir define a variável de ambiente HTTPS_PROXY para fazer o proxy de todas as conexões HTTPS por meio de um proxy CONNECT localizado em localhost:8080 sem TLS:

export HTTPS_PROXY=http://localhost:8080

ALL_PROXY

Faça o proxy todas as conexões para o URL especificado.

O exemplo a seguir define a variável de ambiente ALL_PROXY para fazer o proxy de todas as conexões de rede de saída por meio de um proxy Socks5 localizado em example.com:1234 com credenciais incluídas na URL:

export ALL_PROXY=socks5://username:password@example.com:1234

NO_PROXY

Lista separada por vírgulas de nomes de host que devem ser excluídos do proxy.

O exemplo a seguir define a variável de ambiente NO_PROXY para ignorar o proxy para conexões com localhost e internal-db.example.com.

export NO_PROXY=localhost,internal-db.example.com

Observação

mongosh O Realm suporta os seguintes tipos de proxy:

  • Proxies Socks5

  • Proxies HTTP

  • Proxies CONNECT

  • URLs do PAC que são direcionados para um dos proxies listados anteriormente

Se você já estiver conectado a uma implantação no MongoDB Shell, poderá usar o Mongo() método ou connect() para se conectar a uma implantação diferente a partir do MongoDB Shell.

Para saber como se conectar a uma implantação diferente usando esses métodos, consulte Abrir uma nova conexão.

Para verificar sua conexão de banco de dados atual, utilize o db.getMongo() método.

O método retorna o URI da string de conexão para sua conexão atual.

Para se desconectar de uma implantação e sair de mongosh, execute uma das seguintes ações:

  • Digite .exit, exit ou exit().

  • Digite quit ou quit().

  • Pressione Ctrl + D.

  • Pressione Ctrl + C duas vezes.

A shell exibe uma mensagem de aviso quando você se conecta a instâncias MongoDB não genuínas. As instâncias não originais podem se comportar de forma diferente das instâncias oficiais do MongoDB devido a recursos ausentes, inconsistentes ou incompletos.

  • A autenticação Kerberos não permite authMechanismProperties=CANONICALIZE_HOST_NAME:true|false na string de conexão. Em vez disso, use:

    • authMechanismProperties=CANONICALIZE_HOST_NAME:forward

    • authMechanismProperties=CANONICALIZE_HOST_NAME:forwardAndReverse

    • authMechanismProperties=CANONICALIZE_HOST_NAME:none

  • mongosh atualmente suporta apenas o compressor zlib. Os seguintes compressores não são suportados:

    • zstd

    • snappy

  • A partir de mongosh 2.0.0:

    Para valores booleanos em strings de conexão, você:

    • deve usar true ou false.

    • não é possível usar 1, y, yes ou t em vez de true.

    • não pode usar -1, 0, n, no ou f em vez de false.

Avalie esta página