Menu Docs

Página inicial do DocsVisualizar & analisar dadosMongoDB 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
  • 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 um MongoDB deployment. 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 MongoDB Shell.

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

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

  • Para saber como executar uma MongoDB deployment, consulte Instalar o MongoDB.

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

Estes procedimentos pressupõem que você já tenha instalado 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 connection string. a connection string para conectar ao 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 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 connection string 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 agrupamento do Atlas, você poderá copiar sua connection string da interface de usuário 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

Veja também:

Para se conectar a uma implantação usando o OpenID Connect, use a opção --authenticationMechanism e defina-a como MONGODB-OIDC. mongosh redireciona-o para um navegador onde você insere 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 opções de connection string maxPoolSize=1&srvMaxHosts=1 à sua connection string 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 connection string.

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:

  • Use o formato de conexão de lista de seed de DNS. O modificador da connection string +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 connection string. Se você 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"

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

O método retorna o URI da connection string 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 connection string. 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 connection strings, 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.

← Instalar mongosh