Menu Docs
Página inicial do Docs
/
MongoDB Shell

Conectar-se a uma implantação

Nesta página

  • Pré-requisitos
  • Versões MongoDB suportadas
  • Instalar mongosh
  • Conecte-se a uma implantação do MongoDB Atlas
  • Obtenha sua connection string Atlas
  • Defina as credenciais do seu banco de dados
  • Conecte-se ao MongoDB Atlas com mongosh
  • Conectar a uma implantação local na porta padrão
  • Conectar a uma implantação local em uma porta não padrão
  • Conectar-se a uma implantação em um host remoto
  • Especificar opções de conexão
  • Conecte-se com autenticação
  • Conectar com OpenID Connect
  • Conecte-se com o LDAP
  • Conectar a um conjunto de réplicas
  • Conectar usando TLS
  • Conectar a um banco de dados específico
  • Configurações de proxy
  • Conecte-se a uma implantação diferente
  • Verificar conexão atual
  • Desconectar de uma implementação
  • Implementações não genuínas
  • Limitações

Esta página mostra como usar o MongoDB Shell para se conectar a uma implantação do MongoDB. Você pode se conectar a uma implantação hospedada na nuvem do MongoDB Atlas, conectar-se a uma implantação local ou conectar-se 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 4.2 ou superior do MongoDB.

Esses procedimentos pressupõem que você já instalou o mongosh. Para mais informações sobre 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 solicitará 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 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 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-se 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

Veja também:

Para conectar a uma implantação utilizando o OpenID Connect, utilize a opção --authenticationMechanism e defina-a como MONGODB-OIDC. mongosh redireciona você para um navegador onde é possível inserir as informações de login do seu provedor de identidade.

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 de opções string de conexão maxPoolSize=1&srvMaxHosts=1 à 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:

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, todas as operações são executadas no host especificado no URI de conexão.

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

  • Usar o formato de conexão da lista de sementes DNS. O modificador da string de conexão +srv define automaticamente a opção tls como true 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 específico, especifique um banco de dados no caminho de URI da string de conexão. Se não especificar um banco de dados em seu caminho URI, você conectará ao banco de dados do test.

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

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

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 PAC que resolvem para um dos proxies listados anteriormente

Se você já estiver conectado a uma implantação no MongoDB Shell, você poderá utilizar o Mongo() ou o método connect() para conectar-se a uma implantação diferente no 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 atual ao banco de dados, utilize o método db.getMongo().

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.

Voltar

Verificar Pacotes do Windows