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.
Pré-requisitos
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.
Versões MongoDB suportadas
Você pode usar o MongoDB Shell para se conectar à versão 4.2 ou superior do MongoDB.
Instalar mongosh
Esses procedimentos pressupõem que você já instalou o mongosh
. Para mais informações sobre instalar o mongosh
, consulte Instalar o mongosh
.
Conecte-se a uma implantação do MongoDB Atlas
Você pode se conectar à implantação do MongoDB Atlas diretamente do seu shell.
Obtenha sua connection string Atlas
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.
Defina as credenciais do seu banco de dados
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.
Conecte-se ao MongoDB Atlas com mongosh
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.
Conectar a uma implantação local na porta padrão
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"
Conectar a uma implantação local em uma porta não padrão
Para especificar uma porta à qual se conectar no localhost, você pode usar:
Uma string de conexão com a porta escolhida
A opção de linha de comando
--port
Por exemplo, os seguintes comandos conectam a uma implantação executando na porta 28015 do localhost:
mongosh "mongodb://localhost:28015"
mongosh --port 28015
Conectar-se a uma implantação em um host remoto
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.
Especificar opções de conexão
Especifique diferentes connecting options para se conectar a diferentes tipos de implantações.
Conecte-se com autenticação
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 impor a autenticação em uma implantação, consulte Habilitar controle de acesso.
Para provisionar acesso a uma implantação do MongoDB, consulte Usuários do banco de dados.
Conectar com OpenID Connect
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
Conecte-se com o LDAP
Para se conectar a uma implantação usando o LDAP:
Defina
--username
para um nome de usuário que respeite osecurity.ldap.authz.queryTemplate
ou qualquer modelosecurity.ldap.userToDNMapping
configurado.Defina
--password
com a senha apropriada. Se você não especificar a senha para a opção de linha de comando--password
, omongosh
solicitará a você a senha.Configure
--authenticationDatabase
para$external
. O argumento$external
deve ser colocado em aspas simples, não aspas duplas, para evitar que o shell interprete$external
como uma variável.Defina
--authenticationMechanism
comoPLAIN
.
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
Conectar a um conjunto de réplicas
Para se conectar a um conjunto de réplicas, você pode:
Especificar explicitamente o nome do conjunto de réplica e membros na connection string.
Opção 1: formato de lista de sementes de DNS
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
.
Opção 2: especificar membros na connection string
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.
Conectar usando TLS
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çãotls
comotrue
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
paratrue
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
Conectar a um banco de dados específico
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"
Configurações de proxy
Para estabelecer uma conexão com configurações de proxy, você pode usar as seguintes variáveis de ambiente:
Variável | Descrição | Exemplo | |
---|---|---|---|
| Conexões de provisionamento com URLs | O exemplo a seguir define a variável de ambiente
| |
| Conexões proxy para URLs Se você também definir | O exemplo a seguir define a variável de ambiente
| |
| Conexões proxy para URLs Se você também definir | O exemplo a seguir define a variável de ambiente
| |
| Faça o proxy todas as conexões para o URL especificado. | O exemplo a seguir define a variável de ambiente
| |
| 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
|
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
Conecte-se a uma implantação diferente
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.
Verificar conexão atual
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.
Desconectar de uma implementação
Para se desconectar de uma implantação e sair de mongosh
, execute uma das seguintes ações:
Digite
.exit
,exit
ouexit()
.Digite
quit
ouquit()
.Pressione
Ctrl
+D
.Pressione
Ctrl
+C
duas vezes.
Implementações não genuínas
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.
Limitações
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 compressorzlib
. 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
oufalse
.não é possível usar
1
,y
,yes
out
em vez detrue
.não pode usar
-1
,0
,n
,no
ouf
em vez defalse
.