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

Opções

Use as seguintes opções para visualizar e controlar vários aspectos do seu MongoDB Shell.

--build-info

Retorna um documento formatado em JSON com informações sobre suas dependências de compilação e drivermongosh.

Exemplo: visualizar informações de compilação

Você pode verificar as informações de compilação e as dependências do driver do seu binário mongosh executando o seguinte comando no seu terminal:

mongosh --build-info

Este comando retorna o seguinte documento formatado em JSON:

{
version: '1.10.1',
distributionKind: 'packaged',
buildArch: 'x64',
buildPlatform: 'linux',
buildTarget: 'unknown',
buildTime: '2023-06-21T09:49:37.225Z',
gitVersion: '05ad91b4dd40382a13f27abe1ae8c3f9f52a38f7',
nodeVersion: 'v16.20.1',
opensslVersion: '3.1.1',
sharedOpenssl: true,
runtimeArch: 'x64',
runtimePlatform: 'darwin',
deps: {
nodeDriverVersion: '5.6.0'
}
}
--eval <javascript>

Avalia uma expressão JavaScript. Você pode usar um único argumento --eval ou múltiplos argumentos --eval juntos.

Após o mongosh avaliar o argumento --eval, ele imprime os resultados para sua linha de comando. Se você usar várias instruções --eval, mongosh imprimirá somente os resultados do último --eval.

Você pode usar a sinalização --json com --eval para retornar resultados mongosh no formato Extended JSON. O mongosh é compatível com os modos --json=canonical e --json=relaxed. Se você omitir o modo, mongosh assumirá como padrão o modo canonical. A sinalização --json é mutuamente exclusiva com --shell.

Exemplo: Formatar saída

Para obter uma saída adequada para análise automatizada, use EJSON.stringify().

mongosh --quiet --host rs0/centos1104 --port 27500 \
--eval "EJSON.stringify(rs.status().members.map( \
m => ({'id':m._id, 'name':m.name, 'stateStr':m.stateStr})));" \
| jq

Após analisar com jq, a saída se assemelha a isto:

[
{
"id": 0,
"name": "centos1104:27500",
"stateStr": "PRIMARY"
},
{
"id": 1,
"name": "centos1104:27502",
"stateStr": "SECONDARY"
},
{
"id": 2,
"name": "centos1104:27503",
"stateStr": "SECONDARY"
}
]

Observação

EJSON criou opções de formatação que podem eliminar a necessidade de um analisador como jq. Por exemplo, o código a seguir produz uma saída formatada da mesma forma que a anterior.

mongosh --quiet --host rs0/centos1104 --port 27500 \
--eval "EJSON.stringify( rs.status().members.map( \
({ _id, name, stateStr }) => ({ _id, name, stateStr })), null, 2);"

Exemplo: vários argumentos --eval

Para obter uma lista de coleções no moviesDatabase, utilize múltiplas declarações do --eval:

mongosh --quiet \
--eval 'use moviesDatabase' \
--eval 'show collections' \
mongodb://localhost/

Exemplo: opção --json

Para retornar estatísticas sobre uma coleção no formato JSON estendido usando múltiplas instruções --eval:

mongosh --quiet --json=relaxed \
--eval 'use <database-name>' \
--eval 'db.<collection>.stats()' \
mongodb://localhost/
--file, -f <javascript>

Executa um roteiro da linha de comando sem inserir o console do MongoDB Shell.

Para obter detalhes adicionais e um exemplo, consulte Executar um roteiro a partir da linha de comando.

--help, -h

Retorna informações sobre as opções e uso do MongoDB Shell.

--nodb

Impede que o shell se conecte a quaisquer instâncias do banco de dados.

--no-quiet

Desabilita o --quiet modo de opção padrão para sessões de shell não interativas. Quando especificado, omongosh exibe todas as mensagens durante a inicialização.

--norc

Impede que o shell forneça e avalie ~/.mongoshrc.js na inicialização.

--norc também impede que o shell carregue quaisquer trechos de código que você instalou com o comando snippet install. Em vez disso, você pode carregar trechos de código com o comando snippet load-all. Consulte Comandos de trecho de código para obter mais informações.

--quiet

Ignora todas as mensagens durante a inicialização (como mensagens de boas-vindas e avisos de inicialização) e vai diretamente para o prompt.

Para sessões de shell não interativas, o MongoDB habilita o --quiet por padrão. Você pode desativar esse comportamento --no-quiet usando.

--skipStartupWarnings

Impede mongosh que exiba avisos de inicialização do servidor ao criar uma sessão. Para suprimir todas as mensagens de inicialização, use a --quiet opção.

--shell

Habilita a interface shell. Se você invocar o comandomongoshe especificar um arquivo JavaScript como um argumento, ou utilizar--evalpara especificar JavaScript na linha de comando, a opção--shellfornecerá ao usuário um prompt de shell após o arquivo finalizar a execução. A bandeira --shell é mutuamente exclusiva com --json.

--verbose

Aumenta a verbosidade da saída de shell durante o processo de conexão e ao executar comandos.

--version

Retorna o número de versão do MongoDB Shell.

--apiVersion <version number>

Especifica a apiVersion. "1" é atualmente o único valor suportado.

--apiStrict

Especifica que o servidor responderá com APIStrictError se seu aplicativo utilizar um comando ou comportamento fora da API estável.

Ao especificar, você também --apiStrict deverá --apiVersion especificar.

--apiDeprecationErrors

Especifica que o servidor responderá com APIDeprecationError se seu aplicação utilizar um comando ou comportamento que é preterido no apiVersion especificado.

Ao especificar, você também --apiDeprecationErrors deverá --apiVersion especificar.

--host <hostname>

Especifica o nome da máquina host onde o mongod ou mongos está sendo executado. Se isso não for especificado, o MongoDB Shell tentará se conectar a um processo MongoDB em execução no localhost.

Para se conectar a um conjunto de réplicas,

Especifique o e uma lista de sementes dos membros do conjunto. Use o seguinte replica set name formulário:

<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>
Para conexões TLS/SSL (--tls),
O MongoDB Shell verifica se o hostname (especificado na ou na ) corresponde --host ao SAN (ou, se SAN não estiver presente, ao CN) no mongod pelo ou mongos. Se SAN estiver presente, o MongoDB Shell não corresponderá ao CN. Se o nome do host não corresponder ao SAN (ou CN), o shell do MongoDB Shell não conseguirá se conectar.
Para conexões de lista de seeds DNS,

Especifique o protocolo de conexão como mongodb+srv, seguido pelo registro do nome de host DNS SRV e quaisquer opções. As opções authSource e replicaSet, se incluídas na string de conexão, substituem quaisquer opções correspondentes configuradas pelo DNS definidas no registro TXT. O uso da string de conexão mongodb+srv: ativa implicitamente o TLS (normalmente definido com tls=true) para a conexão do cliente . A opção TLS pode ser desativada configurando o tls=false na string de query.

Exemplo

mongodb+srv://server.example.com/?connectionTimeoutMS=3000
--port <port>

Especifica a porta em que a instânciamongodoumongosestá escutando. Se--portnão for especificado, o MongoDB Shell tentará se conectar à porta 27017.

--tls

Permite a conexão com um mongod ou mongos que tenha suporte a TLS habilitado.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsCertificateKeyFile <filename>

Especifica o arquivo .pem que contém o certificado e a chave TLS para mongosh. Especifique o nome do arquivo .pem usando caminhos relativos ou absolutos.

Esta opção é exigida ao utilizar a opção--tlspara conectar a uma instância domongodoumongosque exige certificados de cliente . Ou seja, o MongoDB Shell apresenta este certificado ao servidor.

Observação

A partir da 4.4 versão, mongod / registra um aviso na conexão se mongos o509 certificado X. apresentado expirar dentro de 30 dias a partir da hora do mongod/mongos sistema host.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsCertificateKeyFilePassword <value>

Especifica a senha para descriptografar o arquivo de chave de certificado (ou seja, --tlsCertificateKeyFile).

Utilize a opção --tlsCertificateKeyFilePassword somente se o arquivo da chave de certificado for codificado. Em todos os casos, o MongoDB Shell edita a senha de todos os resultados de geração de registros e relatórios.

Se a chave privada no arquivo PEM estiver criptografada e você não especificar a opção; o MongoDB Shell solicita uma --tlsCertificateKeyFilePassword senha.

Consulte Senha do Certificado TLS/SSL.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsCAFile <filename>

Especifica o arquivo .pem que contém a sequência de certificados raiz da autoridade de certificação. Este arquivo é utilizado para validar o certificado apresentado pela instância mongod / mongos.

Especifique o nome do arquivo .pem usando caminhos relativos ou absolutos.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsCRLFile <filename>

Especifica o arquivo .pem que contém a lista de certificados revogados. Especifique o nome do arquivo .pem usando caminhos relativos ou absolutos.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsAllowInvalidHostnames

Desabilita a validação dos nomes de host no certificado apresentado pela mongod mongos instância /. Permite que o MongoDB Shell se conecte a instâncias do MongoDB mesmo que o nome do host nos certificados do servidor não corresponda ao host do servidor.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsAllowInvalidCertificates

Novidades na versão 4.2.

Ignora as verificações de validação para os certificados apresentados pela instância mongod / e permite conexões para servidores que apresentam certificados mongos inválidos.

Observação

Começando no MongoDB 4.0, se você especificar --tlsAllowInvalidCertificates ao usar x.509 autenticação, um certificado inválido só será suficiente para estabelecer uma conexão TLS, e será insuficiente para a autenticação.

Aviso

Embora disponível, evite utilizar a opção se possível.--tlsAllowInvalidCertificates --tlsAllowInvalidCertificates Se o uso de for necessário, use a opção somente em sistemas em que a intrusão não seja possível.

Se o shell do MongoDB Shell (e outros conectar a um conjunto de réplicas habilitado para TLS ) for executado com a opção --tlsAllowInvalidCertificates, o shell (e outros conectar a um conjunto de réplicas habilitado para TLS) não tentará validar os certificados do servidor . Isso cria uma vulnerabilidade para certificados mongod e mongos expirados, bem como para processos externos que se fazem passar por instâncias mongod ou mongos válidas. Se você só precisar desabilitar a validação do nome de host nos certificados TLS, consulte --tlsAllowInvalidHostnames.

Para saber mais sobre TLS/SSL e MongoDB, consulte:

--tlsCertificateSelector <parameter>=<value>

Disponível no Windows e macOS como uma alternativa --tlsCertificateKeyFile ao.

Importante

Windows e importação de chaves privadas

Ao importar sua chave privada, você deve marcá-la como exportável. O Assistente de Importação de Certificado do Windows não seleciona esta opção por padrão.

Assistente de importação de certificado da Microsoft onde a chave marcada como exportável

As --tlsCertificateKeyFile opções e são mutuamente exclusivas. Você só pode especificar uma.--tlsCertificateSelector

Especifica uma propriedade de certificado para selecionar um certificado correspondente do armazenamento de certificados do sistema operacional.

--tlsCertificateSelector aceita um argumento do formato <property>=<value> onde a propriedade pode ser uma das seguintes:

Propriedade
Tipo de valor
Descrição

subject

string ASCII

Nome do assunto ou nome comum no certificado

thumbprint

string hexadecimal

Uma sequência de bytes, expressa em hexadecimal usada para identificar uma chave pública pelo seu resumo SHA-1.

O thumbprint às vezes é denominado fingerprint.

Ao usar o armazenamento de certificados SSL do sistema, o OCSP (Online Certificate Status Protocol) é usado para validar o status de revogação dos certificados.

Observação

A partir da 4.4 versão, mongod / registra um aviso na conexão se mongos o509 certificado X. apresentado expirar dentro de 30 dias a partir da hora do mongod/mongos sistema host.

--tlsDisabledProtocols <string>

Desabilita os protocolos TLS especificados. A opção reconhece os seguintes protocolos:

  • TLS1_0

  • TLS1_1

  • TLS1_2

  • (A partir da versão 4.0.4, 3.6.9, 3.4.24) TLS1_3

  • No macOS, você não pode desativar TLS1_1 e deixar TLS1_0 e TLS1_2 ativados. Você também deve desativar pelo menos um dos outros dois; por exemplo, TLS1_0,TLS1_1.

  • Para listar vários protocolos, especifique uma lista de protocolos separados por vírgula. Por exemplo TLS1_0,TLS1_1.

  • Os protocolos desabilitados especificados substituem qualquer protocolo padrão desabilitado.

A partir da 4.0 versão, o MongoDB desabilita o uso do TLS 1.0 se 1.1o TLS + estiver disponível no sistema. Para habilitar o TLS 1.0 desabilitado, especifique none --tlsDisabledProtocolspara.

--tlsUseSystemCA

Permite mongosh ao carregar certificados TLS já disponíveis para a autoridade de certificação do sistema operacional sem especificar explicitamente os certificados para o shell. Você não pode desativar esse comportamento. --tlsUseSystemCA ainda pode ser definido para compatibilidade com versões anteriores, mas não tem efeito.

Observação

Esse sinalizador se aplica às conexões do MongoDB e às conexões do provedor de identidade OIDC.

--authenticationDatabase <dbname>

Especifica o banco de dados de autenticação onde o especificado --username foi criado. Consulte Banco de Dados de Autenticação.

Se você não especificar um valor para, o MongoDB Shell utilizará o banco de dados especificado na string de --authenticationDatabase conexão.

--authenticationMechanism <name>

Especifica o mecanismo de autenticação que o MongoDB Shell usa para autenticar no ou. Se você não especificar mongod mongosum,authenticationMechanism mas fornecer credenciais de usuário, o MongoDB Shell e os drivers tentarão usar SCRAM-SHA-.256 Se isso falhar, eles voltarão para SCRAM-SHA-.1

Valor
Descrição

RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a1 função de hash SHA-.

RFC 7677 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a256 função de hash SHA-.

Exige featureCompatibilityVersion definido para 4.0.

Autenticação do certificado TLS do MongoDB .

GSSAPI (Kerberos)

Autenticação externa usando Kerberos. Esse mecanismo está disponível somente no MongoDB Enterprise.

PLAIN (LDAP SASL)

Autenticação externa usando LDAP. Você também pode utilizar o PLAIN para autenticar usuários de banco de dados. PLAIN transmite senhas em texto simples. Este mecanismo está disponível em MongoDB Enterprise e MongoDB Atlas.

MONGODB-OIDC (OpenID connect)

Autenticação externa usando OpenID Connect. Este mecanismo está disponível em MongoDB Enterprise e MongoDB Atlas.

MONGODB-AWS (Amazon Web Services IAM)

Autenticação externa usando credenciais do Amazon Web Services Identity and Access Management (Amazon Web Services IAM). Este mecanismo está disponível em MongoDB Enterprise e MongoDB Atlas.

--gssapiServiceName

Especifique o nome do serviço utilizando GSSAPI/Kerberos. Obrigatório apenas se o serviço não usar o nome mongodb padrão.

Esta opção está disponível apenas no MongoDB Enterprise.

--sspiHostnameCanonicalization <string>

Especifica se deseja ou não usar a Canonicalização de nome de host.

--sspiHostnameCanonicalization tem o mesmo efeito que definir o CANONICALIZE_HOST_NAME:true|false par de chaves na parte da authMechanismProperties stringde conexão.

--sspiHostnameCanonicalization Se estiver definido como:

  • forwardAndReverse, realiza uma pesquisa direta de DNS e, em seguida, uma pesquisa inversa. Novidade em mongosh 1,3,0.

  • forward, o efeito é o mesmo que definir authMechanismProperties=CANONICALIZE_HOST_NAME:true.

  • none, o efeito é o mesmo que definir authMechanismProperties=CANONICALIZE_HOST_NAME:false.

--oidcFlows

Especifica fluxos OpenID Connect em uma lista separada por vírgula. Os fluxos do OpenID Connect especificam como o mongosh interage com o provedor de identidade para o processo de autenticação. O mongosh suporta os seguintes fluxos OpenID Connect:

Fluxo de conexão OpenID
Descrição

auth-code

Padrão. mongosh abre um navegador e redireciona você para a tela de login do provedor de identidade.

device-auth

mongosh fornece um URL e um código para concluir a autenticação. Esse é considerado um fluxo OpenID Connect menos seguro, mas pode ser usado quando mongosh é executado em um ambiente no qual não é possível abrir um navegador.

Para configurar o device-auth como uma opção de contingência para auth-code, consulte o seguinte exemplo:

mongosh 'mongodb://localhost/' --authenticationMechanism MONGODB-OIDC --oidcFlows=auth-code,device-auth
--oidcDumpTokens

Especifica se mongosh imprime tokens com informações extras de depuração. Use essa opção apenas para fins de depuração.

A opção --oidcDumpTokens aceita os seguintes valores:

Valor
Descrição

redacted

O padrão quando você define apenas --oidcDumpTokens. Imprime informações de depuração de token com dados confidenciais redigidos.

include-secrets

Imprime informações de depuração de token, incluindo credenciais que podem potencialmente autenticar em servidores de banco de dados.

Importante

O valor include-secrets expõe credenciais que invasores podem usar para autenticação. Use da opção apenas quando pessoas não autorizadas não puderem ver o resultado de mongosh e as credenciais forem necessárias para fins de diagnóstico.

--oidcIdTokenAsAccessToken

Especifica se mongosh utiliza o token de ID recebido do provedor de identidade ao invés do token de acesso. Utilize esta opção com provedores de identidade que você não consegue configurar para fornecer tokens de acesso JWT.

--oidcNoNonce

Por padrão, mongosh envia um parâmetro nonce durante o fluxo de código de autorização do OIDC.

Se você configurar a opção --oidcNoNonce, o mongosh não enviará um parâmetro nonce. Use essa opção se o seu provedor de identidade não oferecer suporte a valores únicos como parte da autorização.

--oidcRedirectUri

Especifica um URI em que o provedor de identidade redireciona você após a autenticação. O URI deve corresponder à configuração do provedor de identidade. O padrão é http://localhost:27097/redirect.

--oidcTrustedEndpoint

Indica que a conexão atual é para um ponto de extremidade confiável que não é Atlas ou localhost. Isso garante que os tokens de acesso sejam enviados ao servidor. Use essa opção somente ao se conectar a servidores nos quais você confia.

--browser

Especifica o navegador mongosh redireciona você para quando MONGODB-OIDC está habilitado.

Esta opção é executada com o shell do sistema.

Defina --no-browser para desativar totalmente a abertura de navegadores.

--password <password>, -p <password>

Especifica uma senha com a qual autenticar em um banco de dados MongoDB que usa autenticação. Utilize em conjunto com as opções --username --authenticationDatabase e.

Para forçar o MongoDB Shell a solicitar uma senha, digite a opção como a última opção e deixe de fora o --password argumento.

--username <username>, -u <username>

Especifica um nome de usuário com o qual autenticar em um banco de dados MongoDB que usa autenticação. Utilize em conjunto com as opções --password --authenticationDatabase e.

--retryWrites

Permite gravações repetíveis.

Por padrão, as gravações que podem ser repetidas são:

  • habilitado em mongosh

  • desabilitados no shell mongo legado

Para desativar gravações repetitivas,--retryWrites=false use.

Para obter mais informações sobre sessões, consulte Sessões de clientes e garantias de consistência causal.

--cryptSharedLibPath <string>

Novidades na versão 8.2.

O caminho para a Biblioteca compartilhada de criptografia automática. A biblioteca deve ser 8 da2 versão..0 ou superior. Necessário para usar criptografia automática para a mongosh sessão de shell do.

--awsAccessKeyId <string>

Uma chave de acesso da AWS associada a um usuário do IAM que tem List Read permissões de e para o AWS Key Management Service (KMS). mongosh utiliza o especificado --awsAccessKeyId para acessar o KMS.

--awsAccessKeyIdé necessário para habilitar a criptografia em nível de campo do lado do cliente para a sessão do shellmongosh. --awsAccessKeyIdexige ambas as seguintes opções de linha de comando:

Se o for --awsAccessKeyId Mongo() omitido, utilize o construtor do dentro da sessão de shell para habilitar a criptografia de nível de campo do lado do cliente .

Para mitigar o risco de vazamento de chaves de acesso em logs, considere especificar uma variável ambiental --awsAccessKeyId para.

--awsSecretAccessKey <string>

Uma chave secreta da AWS associada ao especificado --awsAccessKeyId.

--awsSecretAccessKey é necessário para habilitar a criptografia em nível de campo do lado do cliente mongosh --awsSecretAccessKey para a sessão. exige ambas as seguintes opções de linha de comando:

Se --awsSecretAccessKey o e suas opções de suporte forem omitidas, utilize o Mongo() dentro da sessão de shell para habilitar a criptografia de nível de campo do lado do cliente .

Para mitigar o risco de vazamento de chaves de acesso em logs, considere especificar uma variável ambiental --awsSecretAccessKey para.

--awsSessionToken <string>

Um AWS Session Token associado ao especificado --awsAccessKeyId.

--awsSessionTokené necessário para habilitar a criptografia em nível de campo do lado do cliente para a sessão do shellmongosh. --awsSessionTokenrequer todas as seguintes opções de linha de comando:

Se --awsSessionToken o e suas opções de suporte forem omitidas, utilize o Mongo() dentro da sessão de shell para habilitar a criptografia de nível de campo do lado do cliente .

Para mitigar o risco de vazamento de chaves de acesso em logs, considere especificar uma variável ambiental --awsSessionToken para.

--keyVaultNamespace <string>

O namespace completo (<database>.<collection>) da coleção usado como um cofre de chaves para criptografia no nível do campo do lado do cliente. --keyVaultNamespace é necessário para habilitar a criptografia no nível do campo do lado do cliente para a sessão do shell mongosh. mongosh cria o namespace especificado se ele não existir.

--keyVaultNamespace exige ambas as seguintes opções de linha de comando:

Se --keyVaultNamespace o e suas opções de suporte forem omitidas, utilize o Mongo() construtor do dentro da sessão de shell para habilitar a criptografia de nível de campo do lado do cliente .