Página inicial do Docs → Visualizar & analisar dados → 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
- 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.
Pré-requisitos
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.
Versões MongoDB suportadas
Você pode usar o MongoDB Shell para se conectar à versão 4.2 ou superior do MongoDB.
Instalar mongosh
Estes procedimentos pressupõem que você já tenha instalado 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 connection string. a connection string para conectar ao Atlas. Depois de emitir o comando connect, o shell solicita 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 connection string 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 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.
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 MongoDB deployment, consulte Usuários do MongoDB deployment.
Conectar com OpenID Connect
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
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 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
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 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.
Conectar usando TLS
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çã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 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"
Conecte-se a uma implantação diferente
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.
Verificar conexão atual
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.
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 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 compressorzlib
. 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
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
.