mongofiles
Nesta página
Synopsis
O utilitário mongofiles
torna possível manipular arquivos armazenados em sua instância MongoDB em objetos GridFS da linha de comando. É particularmente útil, pois fornece uma interface entre objetos armazenados em seu sistema de arquivos e o GridFS.
Execute mongofiles
na linha de comando do sistema, não no shell mongo
.
Controle de Versão
Começando com o MongoDB 4.4, mongofiles
agora é lançado separadamente do MongoDB Server e usa seu próprio controle de versão, com uma versão inicial do 100.0.0
. Anteriormente, mongofiles
era lançado junto com o MongoDB Server e usava o controle de versão correspondente.
Para obter documentação sobre o MongoDB 4.2 ou versões anteriores do mongofiles
, consulte a Documentação do MongoDB Server para essa versão da ferramenta:
Esta documentação é para a versão 100.10.0
do mongofiles
.
Compatibilidade
Compatibilidade do servidor MongoDB
mongofiles
A versão{ 3} 100.10.0
suporta as seguintes versões do MongoDB Server:
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
Embora mongofiles
possa funcionar em versões anteriores do servidor MongoDB, essa compatibilidade não é garantida.
Suporte a plataformas
A versão { mongofiles
100.10.0
é suportada nas seguintes plataformas:
x86_64 | arm64 | PPC64LE | s390x | |
---|---|---|---|---|
Amazon Linux 2023 | ✓ | ✓ | ||
Amazon 2 | ✓ | ✓ | ||
Amazon 2013.03+ | ✓ | |||
Debian 12 | ✓ | |||
Debian 11 | ✓ | |||
Debian 10 | ✓ | |||
Debian 9 | ✓ | |||
RHEL / CentOS 9 | ✓ | ✓ | ||
RHEL / CentOS 8 | ✓ | ✓ | ||
RHEL / CentOS 7 | ✓ | ✓ | ✓ | |
RHEL / CentOS 6 | ✓ | |||
SUSE 15 | ✓ | |||
SUSE 12 | ✓ | |||
Ubuntu 24.04 | ✓ | ✓ | ||
Ubuntu 22.04 | ✓ | ✓ | ||
Ubuntu 20.04 | ✓ | ✓ | ||
Ubuntu 18.04 | ✓ | ✓ | ||
Ubuntu 16.04 | ✓ | ✓ | ✓ | |
Windows 8 e posterior | ✓ | |||
Windows Server 2012 e posterior | ✓ | |||
macOS 11 e posterior | ✓ | ✓ | ||
macOS 10,12 - 10,15 | ✓ |
Instalação
A ferramenta mongofiles
faz parte do pacote Ferramentas do Banco deMongoDB database :
➤ Siga o Guia de instalação do Database Tools para instalar mongofiles
.
Sintaxe
O comando mongofiles
tem o seguinte formato:
mongofiles <options> <connection-string> <command> <filename or _id>
Execute mongofiles
na linha de comando do sistema, não no shell mongo
.
Os componentes do comando mongofiles
são:
Opções. Você pode usar uma ou mais dessas opções para controlar o comportamento da
mongofiles
.Connection String
. A connection string domongod
/mongos
para se conectar commongofiles
.Comando. Use um destes comandos para determinar a ação de
mongofiles
.Um identificador que seja o nome de um arquivo em seu sistema de arquivos local ou um objeto GridFS.
Importante
Para conjuntos de réplica, o mongofiles
só pode ler a partir do primário do conjunto.
Acesso necessário
Para se conectar a um mongod
que impõe a autorização com a opção --auth
, você deve usar as opções --username
e --password
. O usuário de conexão deve possuir, no mínimo:
Comportamento
DICAS
mongofiles
cria automaticamente conexões compatíveis com FIPS para um mongod
/mongos
que é configurado para usar o modo FIPS.
readPreference
Por padrão, mongofiles
usa a preferência de leitura primary
. Para substituir o padrão, você pode especificar a preferência de leitura na opção de linha de comando --readPreference
ou na --uri connection string
.
Se você especificar a preferência de leitura na string URI e o --readPreference
, o valor --readPreference
substituirá a preferência de leitura especificada na string URI.
Escreva preocupação
Você pode especificar a opção --writeConcern
e --uri connection string
. Se a write concern for especificada usando ambas as opções, o valor --writeConcern
substituirá a write concern especificada na string URI.
Opções
--help
Retorna informações sobre as opções e uso do
mongofiles
.
--verbose, -v
Aumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de registro. Aumente a verbosidade com o formulário
-v
incluindo a opção várias vezes (por exemplo,-vvvvv
.)
--quiet
Executa
mongofiles
em modo silencioso que tenta limitar o volume de saída.Esta opção suprime:
saída de comandos do banco de dados
atividade de replicação
eventos aceitos de conexão
eventos fechados de conexão
--version
Retorna o número de versão do
mongofiles
.
--config=<filename>
Novidades na versão 100.3.0.
Especifica o caminho completo para um arquivo de configuração YAML contendo valores sensíveis para as seguintes opções para
mongofiles
:Esta é a maneira recomendada de especificar uma senha para
mongofiles
, além de especificá-la por meio de um prompt de senha.O arquivo de configuração recebe o seguinte formulário:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Especificar uma senha para o campo
password:
e fornecer uma cadeia de conexão no campouri:
que contém uma senha conflitante resultará em um erro.Certifique-se de proteger este arquivo com permissões de sistema de arquivos apropriadas.
Observação
Se você especificar um arquivo de configuração com
--config
e também utilizar a opção--password
,--uri
ou--sslPEMKeyPassword
paramongofiles
, cada opção de linha de comando substituirá sua opção correspondente no arquivo de configuração.
--uri=<connectionString>
Especifica a string de conexão resolvível da implantação do MongoDB, entre aspas:
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" A partir da versão
100.0
demongofiles
, a connection string pode ser fornecida como um parâmetro posicional, sem usar a opção--uri
:mongofiles mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] Como parâmetro posicional, a connection string pode ser especificada em qualquer ponto da linha de comando, desde que comece com
mongodb://
oumongodb+srv://
. Por exemplo:mongofiles --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl Somente uma string de conexão pode ser fornecida. A tentativa de incluir mais de uma, seja usando a opção
--uri
ou como um argumento posicional, resultará em um erro.Para obter informações sobre os componentes da string de conexão, consulte a documentação Formato de URI da string de conexão .
Observação
Como alternativa, alguns componentes na
connection string
podem ser especificados usando suas próprias opções explícitas de linha de comando, como--username
e--password
. Fornecer uma string de conexão e, ao mesmo tempo, usar uma opção explícita e especificar informações conflitantes resultará em um erro.Observação
Se estiver usando
mongofiles
no Ubuntu 18.04, você poderá ver o errocannot unmarshal DNS
ao usar strings de conexão do SRV (no formatomongodb+srv://
) com a opção--uri
. Nesse caso, use uma das seguintes opções:a opção
--uri
com uma string de conexão não SRV (no formuláriomongodb://
)a opção
--host
para especificar o host e conectar diretamente
Aviso
Em alguns sistemas, uma senha fornecida em uma string de conexão com a opção
--uri
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Em vez disso, considere:omitindo a senha na cadeia de conexão para receber um prompt de senha interativo , ou
utilizando a opção
--config
para especificar um arquivo de configuração que contém a senha.
--host=<hostname><:port>
Especifica um nome de host resolvível para o
mongod
que contém seu sistema GridFS. Por padrão,mongofiles
tenta se conectar a um processo do MongoDB em execução no host local na porta número27017
.Opcionalmente, especifique um número de porta para conectar uma instância do MongoDB em execução em uma porta diferente da 27017.
Outra opção é especificar o nome do host diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--host
e especificar informações conflitantes resultará em um erro.
--port=<port>
Padrão: 27017
Especifica a porta TCP na qual a instância do MongoDB escuta conexões de cliente.
Alternativamente, você também pode especificar a porta diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--port
e especificar informações conflitantes resultará em um erro.
--ssl
Habilita a conexão com um
mongod
oumongos
que tenha suporte a TLS/SSL habilitado.Alternativamente, você também pode configurar o suporte de TLS/SSL diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--ssl
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslCAFile=<filename>
Especifica o arquivo
.pem
que contém a sequência de certificados raiz da autoridade de certificação. Especifique o nome do arquivo.pem
usando caminhos relativos ou absolutos.Como alternativa, você também pode especificar o arquivo
.pem
diretamente noURI connection string
. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslCAFile
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslPEMKeyFile=<filename>
Especifica o arquivo
.pem
que contém o certificado e a chave TLS/SSL. Especifique o nome do arquivo.pem
usando caminhos relativos ou absolutos.Esta opção é exigida ao utilizar a opção
--ssl
para conectar a ummongod
oumongos
que tenhaCAFile
habilitado semallowConnectionsWithoutCertificates
.Como alternativa, você também pode especificar o arquivo
.pem
diretamente noURI connection string
. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslPEMKeyFile
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslPEMKeyPassword=<value>
Especifica a senha para descriptografar o arquivo de chave de certificado (ou seja,
--sslPEMKeyFile
). Utilize a opção--sslPEMKeyPassword
somente se o arquivo da chave de certificado for criptografado. Em todos os casos,mongofiles
suprimirá a senha de todos os resultados de geração de registros e relatórios.Se a chave privada no arquivo PEM for codificada e você não especificar a opção
--sslPEMKeyPassword
, omongofiles
solicitará uma senha. Consulte Senha do Certificado TLS/SSL.Como alternativa, você também pode especificar a senha diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--sslPEMKeyPassword
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--sslPEMKeyPassword
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Considere utilizar a opção--config
para especificar um arquivo de configuração contendo a senha.
--sslCRLFile=<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 obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslAllowInvalidCertificates
Ignora as verificações de validação de certificados de servidor e permite o uso de certificados inválidos. Ao usar a configuração
allowInvalidCertificates
, o MongoDB registra como aviso o uso do certificado inválido.Aviso
Embora disponível, evite utilizar a opção
--sslAllowInvalidCertificates
se possível. Se o uso do--sslAllowInvalidCertificates
for necessário, use a opção somente em sistemas em que a intrusão não seja possível.Conectar-se a uma instância
mongod
oumongos
sem validar os certificados do servidor é um risco potencial à segurança. Se você só precisar desabilitar a validação do nome de host nos certificados TLS/SSL, consulte--sslAllowInvalidHostnames
.Como alternativa, você também pode desativar a validação do certificado diretamente no
URI connection string
. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslAllowInvalidCertificates
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslAllowInvalidHostnames
Desabilita a validação dos nomes de host em certificados TLS/SSL. Permite que
mongofiles
se conecte a instâncias do MongoDB mesmo que o nome do host em seus certificados não corresponda ao nome de host especificado.Outra opção é desabilitar a validação do nome de host diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--sslAllowInvalidHostnames
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--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
e--authenticationDatabase
.Alternativamente, você também pode especificar o nome de usuário diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--username
e especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
, você pode especificar seu ID de chave de acesso da AWS em:esse campo,
o
connection string
, oua variável de ambiente
AWS_ACCESS_KEY_ID
.
Consulte Conectar-se a um cluster do MongoDB Atlas usando Credenciais AWS IAM para obter um exemplo de cada um.
--password=<password>, -p=<password>
Especifica uma senha com a qual autenticar em um MongoDB database que usa autenticação. Utilize em conjunto com as opções
--username
e--authenticationDatabase
.Para solicitar a senha ao usuário, passe a opção
--username
sem--password
ou especifique uma string vazia como o valor--password
, como em--password ""
.Como alternativa, você também pode especificar a senha diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--password
e especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
, você pode especificar sua chave de acesso secreta da AWS em:esse campo,
o
connection string
, oua variável de ambiente
AWS_SECRET_ACCESS_KEY
.
Consulte Conectar-se a um cluster do MongoDB Atlas usando Credenciais AWS IAM para obter um exemplo de cada um.
Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--password
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Em vez disso, considere:omitindo a opção
--password
para receber uma solicitação de senha interativa, ouutilizando a opção
--config
para especificar um arquivo de configuração que contém a senha.
--awsSessionToken=<AWS Session Token>
Se você se conectar a um cluster do MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
e usando tokens de sessão além do ID da chave de acesso Amazon Web Services e da chave de acesso do secret do Kubernetes, você poderá especificar o token da sessão da Amazon Web Services em:esse campo,
o parâmetro
AWS_SESSION_TOKEN
authMechanismProperties
para oconnection string
, oua variável de ambiente
AWS_SESSION_TOKEN
.
Consulte Conectar-se a um cluster do MongoDB Atlas usando Credenciais AWS IAM para obter um exemplo de cada um.
Válido somente ao utilizar o
MONGODB-AWS
authentication mechanism
.
--authenticationDatabase=<dbname>
Especifica o banco de dados de autenticação onde o
--username
especificado foi criado. Consulte Banco de dados de autenticação.Se estiver usando o GSSAPI (Kerberos), PLAIN (LDAP SASL) ou
MONGODB-AWS
authentication mechanisms
, você deverá definir--authenticationDatabase
como$external
.Como alternativa, você também pode especificar o banco de dados de autenticação diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--authenticationDatabase
e especificar informações conflitantes resultará em um erro.
--authenticationMechanism=<name>
Padrão: SCRAM-SHA-1
Especifica o mecanismo de autenticação que a instância do
mongofiles
utiliza para autenticar nomongod
oumongos
.Alterado na versão 100.1.0: A partir da versão
100.1.0
, omongofiles
adiciona suporte para o mecanismo de autenticaçãoMONGODB-AWS
ao conectar-se a um cluster do MongoDB Atlas .ValorDescriçãoRFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a função de hash SHA-1.RFC 7677 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a função de hash SHA-256.
Exige featureCompatibilityVersion definido para
4.0
.Autenticação de certificado TLS/SSL do MongoDB.MONGODB-AWS
Autenticação externa usando credenciais AWS IAM para uso na conexão com um cluster do MongoDB Atlas . Consulte Conectar-se a um cluster do MongoDB Atlas usando Credenciais AWS IAM.
Novidades na versão 100.1.0.
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 oPLAIN
para autenticar usuários do banco de dados.PLAIN
transmite senhas em texto simples. Esse mecanismo está disponível apenas no MongoDB Enterprise.Alternativamente, você também pode especificar o mecanismo de autenticação diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--authenticationMechanism
e especificar informações conflitantes resultará em um erro.
--gssapiServiceName=<serviceName>
Especifique o nome do serviço utilizando GSSAPI/Kerberos. Obrigatório apenas se o serviço não usar o nome padrão
mongodb
.Esta opção está disponível apenas no MongoDB Enterprise.
--gssapiHostName=<hostname>
Especifique o nome de host de um serviço utilizando GSSAPI/Kerberos. Somente necessário se o nome de host de uma máquina não corresponder ao nome de host resolvido pelo DNS.
Esta opção está disponível apenas no MongoDB Enterprise.
--db=<database>, -d=<database>
Especifica o nome do banco de dados no qual executar o
mongofiles
.Alternativamente, você também pode especificar o banco de dados diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--db
e especificar informações conflitantes resultará em um erro.
--local=<filename>, -l=<filename>
Especifica o nome do sistema de arquivos local de um arquivo para obter e colocar operações.
Nos comandos mongofiles put e mongofiles get, o modificador
<filename>
obrigatório refere-se ao nome que o objeto terá no GridFS.mongofiles
pressupõe que isso reflete o nome do arquivo no sistema de arquivos local. Esta configuração substitui este padrão.
--type=<MIME>
Fornece a capacidade de especificar um tipo de MIME para descrever o arquivo inserido no armazenamento GridFS.
mongofiles
omite esta opção na operação padrão.Use somente com operações de colocação de mongofiles.
--replace, -r
Altera o comportamento de mongofiles colocados para substituir objetos GridFS existentes com o arquivo local especificado, em vez de adicionar um objeto adicional com o mesmo nome.
Na operação padrão, os arquivos não serão substituídos por uma opção mongofiles put.
--writeConcern=<document>
Padrão: maioria
Especifica a write concern para cada operação de gravação que
mongofiles
executa.Especifique a preocupação de gravação como um documento com opções w:
--writeConcern="{w:'majority'}" Se a write concern também estiver incluída no
--uri connection string
, a linha de comando--writeConcern
substitui a write concern especificada na string URI.
--readPreference=<string|document>
Padrão:
primary
Especifica a read preference para
mongofiles
. A opção--readPreference
pode levar:Uma string se especificar apenas o modo de read preference:
--readPreference=secondary Um documento com aspas para especificar o modo, os conjuntos de tags de preferência de leitura opcionais e o maxStalenessSeconds: opcional
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' Se especificar maxStalenessSeconds, o valor deve ser maior ou igual a 90.
mongofiles
tem comoprimary
padrão a read preference .Se a read preference também for incluída no
--uri connection string
, a linha de comando--readPreference
substituirá a read preference especificada na string URI.
Comandos
list <prefix>
Lista os arquivos no armazenamento GridFS. Os caracteres especificados após
list
(por exemplo,<prefix>
) opcionalmente, limite a lista de itens retornados a arquivos que começam com essa string de caracteres.
search <string>
Lista os arquivos no armazenamento GridFS com nomes que correspondem a qualquer parte de
<string>
.
put <filename1[ filename2] ...>
Copie o arquivo ou arquivos especificados do sistema de arquivos local para o armazenamento GridFS. Vários arquivos podem ser especificados como uma lista separada por espaço.
Cada nome de arquivo especificado refere-se ao nome que o objeto terá no GridFS, e o
mongofiles
pressupõe que isto reflita o nome que o arquivo tem no sistema de arquivo local. Se o nome do arquivo local for diferente, utilize a opçãomongofiles --local
.
get <filename1[ filename2] ...>
Copie o arquivo ou os arquivos especificados do armazenamento GridFS para o sistema de arquivos local.
Cada nome de arquivo especificado refere-se ao nome que o objeto tem no GridFS, e
mongofiles
utilizará este nome de arquivo ao gravar no sistema de arquivo local.Se especificar apenas um
filename
para o comandoget
, você poderá usar a opção--local
para especificar um nome de arquivo local diferente para gravação, se desejar. A opção--local
não pode ser usada se especificar mais de umfilename
para o comandoget
.Observação
Para copiar arquivos do armazenamento GridFS que correspondam a uma expressão regular, utilize o comando
get_regex
.
get_id "<_id>"
Copie o arquivo, especificado por seu
<_id>
, do armazenamento GridFS para o sistema de arquivos local.<_id>
refere-se ao JSON_id
estendido do objeto no GridFS.get_id
pode aceitar valores de ObjectId ou valores que não sejam ObjectId para<_id>
.mongofiles
grava o arquivo no sistema de arquivos local utilizando o nome do arquivo no GridFS. Para escolher um local diferente para o arquivo no sistema de arquivo local, utilize a opção--local
.
get_regex <regex> --regexOptions <regex-options>
Copie o arquivo ou arquivos, correspondentes à expressão
<regex>
especificada, do armazenamento GridFS para o sistema de arquivos local. O comandoget_regex
usa expressões regulares compatíveis com Perl ("PCRE") versão 8.42 com suporte a UTF-8.Opcionalmente, você pode especificar um ou mais
<regex-options>
usando o sinalizador--regexOptions
. Elas podem ser qualquer uma das opções aceitas pelo operador $regex, que incluem configurações como insensibilidade a maiúsculas e minúsculas. Várias opções devem ser fornecidas juntas sem separadores, por exemplo--regexOptions si
mongofiles
grava o arquivo ou arquivos no sistema de arquivos local usando o nome de arquivo correspondente de cada arquivo no GridFS. Não é possível usar a opção--local
com o comandoget_regex
.
delete <filename>
Exclua o arquivo especificado do armazenamento GridFS.
delete_id "<_id>"
Exclua o arquivo, especificado por seu
<_id>
, do armazenamento GridFS.delete_id
pode aceitar valores de ObjectId ou valores que não sejam ObjectId para<_id>
.
Exemplos
Execute mongofiles
na linha de comando do sistema, não no shell mongo
.
Para retornar uma lista de todos os arquivos em uma coleção GridFS no banco de dados records
, use a seguinte chamada no shell do sistema:
mongofiles -d=records list
Essa instância mongofiles
se conectará à instância mongod
em execução na interface 27017
localhost para especificar a mesma operação em uma porta ou nome de host diferente e emitirá um comando semelhante a um dos seguintes:
mongofiles --port=37017 -d=records list mongofiles --host=db1.example.net -d=records list mongofiles --host=db1.example.net --port=37017 -d=records list
Modifique qualquer um dos comandos a seguir, conforme necessário, se estiver conectando as instâncias mongod
em portas ou hosts diferentes.
Para carregar um arquivo chamado 32-corinth.lp
para a collection GridFS no banco de dados records
, você pode usar o seguinte comando:
mongofiles -d=records put 32-corinth.lp
Para excluir o arquivo 32-corinth.lp
desta coleção do GridFS no banco de dados do records
, você pode utilizar o seguinte comando:
mongofiles -d=records delete 32-corinth.lp
Para procurar arquivos na coleção GridFS no banco de dados records
que têm a string corinth
em seus nomes, você pode utilizar o seguinte comando:
mongofiles -d=records search corinth
Para listar todos os arquivos na coleção GridFS no banco de dados records
com nomes que começam com a string 32
, você pode usar o seguinte comando:
mongofiles -d=records list 32
Para buscar o arquivo da coleção GridFS no banco de dados do records
denominado 32-corinth.lp
, você pode utilizar o seguinte comando:
mongofiles -d=records get 32-corinth.lp
Para buscar todos os arquivos da coleção GridFS no banco de dados records
com nomes começando com a string 32
e terminando com a string .lp
, você pode utilizar o seguinte comando:
mongofiles -d=records get_regex 32*.lp
Para buscar o arquivo da collection GridFS no banco de dados records
com _id: ObjectId("56feac751f417d0357e7140f")
, você pode usar o seguinte comando:
mongofiles -d=records get_id '{"$oid": "56feac751f417d0357e7140f"}'
Você deve incluir aspas em torno do _id
.
Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
Novidades na versão 100.1.0.
Para se conectar a um cluster do MongoDB Atlas que foi configurado para suportar autenticação via Credenciais do AWS IAM, forneça uma connection string
para o mongofiles
semelhante a:
mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
A conexão ao Atlas usando credenciais AWS IAM dessa maneira usa o MONGODB-AWS
authentication mechanism
e o $external
authSource
, como mostrado neste exemplo.
Se estiver usando um token de sessão da AWS, forneça-o também com o valor AWS_SESSION_TOKEN
authMechanismProperties
, como segue:
mongofiles 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
Observação
Se o ID da chave de acesso da AWS, a chave de acesso secreta ou o token de sessão incluírem os seguintes caracteres:
: / ? # [ ] @
esses caracteres devem ser convertidos usando codificação percentual.
Como alternativa, a ID da chave de acesso da AWS, a chave de acesso secreta e, opcionalmente, o token de sessão podem ser fornecidos fora da string de conexão usando as opções --username
, --password
e --awsSessionToken
, assim:
mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
Quando fornecidos como parâmetros da linha de comando, estas três opções não exigem codificação percentual.
Você também pode definir essas credenciais na sua plataforma usando variáveis de ambiente padrão do AWS IAM. O mongofiles
verifica as seguintes variáveis de ambiente quando você usa o MONGODB-AWS
authentication mechanism
:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
Se definidas, essas credenciais não precisam ser especificadas na connection string ou por meio de suas opções explícitas.
Observação
Se você optar por usar as variáveis de ambiente da AWS para especificar esses valores, não poderá combinar e corresponder com as opções explícitas ou de cadeia de conexão correspondentes para essas credenciais. Use as variáveis de ambiente para ID de chave de acesso e chave de acesso secreta (e token de sessão, se usado) ou especifique cada uma delas usando as opções explícitas ou de cadeia de conexão.
O exemplo a seguir define essas variáveis de ambiente no shell bash
:
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
A sintaxe para definir variáveis de ambiente em outros shells será diferente. Consulte a documentação da sua plataforma para obter mais informações.
Você pode verificar se essas variáveis de ambiente foram definidas com o seguinte comando:
env | grep AWS
Depois de definido, o exemplo a seguir se conecta a um MongoDB Atlas cluster usando estas variáveis de ambiente:
mongofiles 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>