mongoexport
Nesta página
Esta documentação é para a versão 100.10.0
de mongoexport
.
Synopsis
mongoexport
é uma ferramenta de banco de dados que produz uma exportação JSON ou CSV de dados armazenados em uma instância do MongoDB.
Execute mongoexport
na linha de comando do sistema, não no shell mongo
.
mongoexport
não é uma ferramenta para fazer backup de implantações. Se quiser criar uma solução de backup, consulte Fazer backup e restaurar uma implantação autogerenciada com o MongoDB Tools.
Dica
Veja também:
mongoimport
que fornece o recurso de importação de dados estruturados correspondente.
Observação
Se você estiver arquivando dados obsoletos para economizar nos custos de armazenamento, considere usar o Online Archive no MongoDB Atlas. O Online Archive arquiva automaticamente dados acessados com pouca frequência em buckets S3 totalmente gerenciados, possibilitando uma divisão econômica dos dados em níveis.
Você pode usar o MongoDB Database Tools para migrar de uma implantação auto-hospedada para o MongoDB Atlas. MongoDB Atlas é o serviço totalmente gerenciado para implantações do MongoDB na nuvem. Para saber mais, consulte Seed com mongorestore.
Para saber todas as maneiras de migrar para o MongoDB Atlas, consulte Migrar ou importar dados.
Sintaxe
mongoexport
sintaxe:
mongoexport --collection=<coll> <options> <connection-string>
Você deve especificar o collection
para exportar. Se você não especificar um output file
, o mongoexport
gravará na saída padrão (por exemplo stdout).
Conecte-se a uma instância do MongoDB
Para se conectar a uma instância local do MongoDB em execução na porta 27017, não é necessário especificar o host ou a porta.
Por exemplo, para exportar o collection
especificado para o output file
especificado de uma instância local do MongoDB em execução na porta 27017:
mongoexport --collection=events --db=reporting --out=events.json
Para especificar um host e/ou porta da instância MongoDB, você pode:
Especifique o nome do host e a porta no
--uri connection string
:mongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options] Ao usar
--uri connection string
, o banco de dados pode ser especificado como parte do string.Especifique o nome do host e a porta no
--host
:mongoexport --host="mongodb0.example.com:27017" --collection=events --db=reporting --out=events.json [additional options] Especifique o nome do host e a porta nos campos
--host
e--port
:mongoexport --host="mongodb0.example.com" --port=27017 --collection=events --db=reporting --out=events.json [additional options]
Para obter mais informações sobre as opções disponíveis, consulte Opções.
Conectar a um conjunto de réplicas
Observação
mongoexport
não é uma ferramenta para fazer backup de dados. Para fazer backup do seu conjunto de réplicas, consulte Faça backup e restauração de uma implantação autogerenciada com o MongoDB Tools.
Para se conectar a uma réplica definida para exportar seus dados, você pode:
Especifique o nome do conjunto de réplica e nós no
--uri connection string
:mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName" --collection=events --out=events.json [additional options] Ao usar
--uri connection string
, o banco de dados pode ser especificado como parte do string.Especifique o nome do conjunto de réplica e nós no
--host
:mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" --collection=events --db=reporting --out=events.json [additional options]
Por padrão, o mongoexport
lê a partir do primário do conjunto de réplica. Para substituir o padrão, você pode especificar a preferência de leitura:
Você pode especificar a preferência de leitura no
--uri connection string
mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary" --collection=events --out=events.json [additional options] Se especificar as marcações de read preference, inclua a opção
readPreferenceTags
:mongoexport --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/reporting?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] Ao usar
--uri connection string
, o banco de dados pode ser especificado como parte do string.Você pode especificar a read preference usando a opção de linha de comando
--readPreference
. A opção de linha de comando usa uma string se especificar apenas o modo de read preference:mongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options] Ou, a opção de linha de comando pode usar um documento entre aspas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'
para especificar o modo, os conjuntos de tags de read preference opcional e o maxStalenessSeconds:opcionalmongoexport --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
Para obter mais informações sobre as opções disponíveis, consulte Opções.
Conecte-se a um cluster fragmentado
Observação
mongoexport
não é uma ferramenta para fazer backup de dados. Para fazer backup do seu cluster fragmentado, consulte Faça backup e restauração de um cluster fragmentado autogerenciado.
Para se conectar a um cluster fragmentado para exportar seus dados, você pode:
Especifique o nome de host da instância
mongos
no--uri connection string
mongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options] Ao usar
--uri connection string
, o banco de dados pode ser especificado como parte do string.Especifique o nome de host e a porta da instância
mongos
no--host
mongoexport --host="mongos0.example.com:27017" --collection=events --db=reporting --out=events.json[additional options]
Por padrão, o mongoexport
lê a partir do primary do conjunto de réplicas de shard. Para ignorar o padrão, especifique a read preference:
Você pode especificar a preferência de leitura no
--uri connection string
mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" --collection=events --out=events.json [additional options] Se especificar as marcações de read preference, inclua a opção
readPreferenceTags
:mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] Ao usar
--uri connection string
, o banco de dados pode ser especificado como parte do string.Você pode especificar a read preference usando a opção de linha de comando
--readPreference
. A opção de linha de comando usa uma string se especificar apenas o modo de read preference:mongoexport --host="mongos0.example.com:27017" --readPreference=secondary --collection=events --db=reporting --out=events.json [additional options] Ou, a opção de linha de comando pode usar um documento entre aspas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'
para especificar o modo, os conjuntos de tags de read preference opcional e o maxStalenessSeconds:opcionalmongoexport --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
Opções
--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
mongoexport
em um modo silencioso que tenta limitar a quantidade de resultado.Esta opção suprime:
Saída de comandos do banco de dados
atividade de replicação
Conexão aceita e eventos fechados
Todos os registros, incluindo mensagens de erro, exceto aqueles que ocorrem ao analisar opções
--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
mongoexport
:Esta é a maneira recomendada de especificar uma senha para
mongoexport
, 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 usar a opção--password
,--uri
ou--sslPEMKeyPassword
paramongoexport
, cada opção de linha de comando, substituirá a 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
domongoexport
, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a opção--uri
:mongoexport 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:mongoexport --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
mongoexport
no Ubuntu 18.04, você poderá ver uma mensagem de errocannot unmarshal DNS
ao usar strings de conexão 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>, -h=<hostname><:port>
Padrão: localhost:27017
Especifica o nome de host resolvível do sistema MongoDB. Por padrão,
mongoexport
tenta se conectar a uma instância do MongoDB em execução no host local na porta número27017
.Para se conectar a um conjunto de réplicas, especifique o
replSetName
e uma lista de sementes de nós do conjunto, como a seguir:--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> Ao definir o formato da lista de conjuntos de réplicas,
mongoexport
sempre se conecta ao primário.Você também pode se conectar a qualquer membro da réplica definida especificando o host e a porta de apenas esse membro:
--host=<hostname1><:port> Se você usar IPv6 e o formato
<address>:<port>
, deverá incluir a parte de uma combinação de endereço e porta entre colchetes (por exemplo,[<address>]
).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, omongoexport
eliminará a senha de todas as saídas de log e relatórios.Se a chave privada no arquivo PEM estiver criptografada e você não especificar a opção
--sslPEMKeyPassword
, omongoexport
solicitará uma senha. Consulte a página 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 o
mongoexport
se conecte às 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 Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver 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 Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver 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 Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver 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 você não especificar um banco de dados de autenticação, o
mongoexport
assumirá que o banco de dados especificado para exportar mantém as credenciais do usuário.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
mongoexport
utiliza para autenticar nomongod
oumongos
.Alterado na versão 100.1.0: A partir da versão
100.1.0
, omongoexport
adiciona suporte ao mecanismo de autenticaçãoMONGODB-AWS
ao se conectar 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 da 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
mongoexport
.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.
--fields=<field1[,field2]>, -f=<field1[,field2]>
Especifica um campo ou campos para incluir na exportação. Use uma lista de campos separados por vírgula para especificar vários campos.
Se algum dos seus nomes de campo incluir espaço em branco, use aspas para delimitar a lista de campos. Por exemplo, se você deseja exportar dois campos,
phone
euser number
, você especificaria--fields "phone,user number"
.Para formatos de saída do
csv
,mongoexport
inclui somente o(s) campo(s) especificado(s) e o(s) campo(s) especificado(s) pode(m) ser um campo dentro de um subdocumento.Para formatos de saída JSON ,
mongoexport
inclui somente o(s) campo(s) especificado(s) e o campo_id
e, se o(s) campo(s) especificado(s) for(em) um campo dentro de um subdocumento,mongoexport
inclui o subdocumento com todos os seus campos, não apenas o campo especificado no documento.Veja: Exportar Dados no Formato CSV usando a opção
--fields
para obter exemplos de uso.
--fieldFile=<filename>
Uma alternativa para
--fields
. A opção--fieldFile
permite a você especificar em um arquivo o campo ou campos para incluir na exportação e é apenas válido com a opção--type
com valorcsv
. O arquivo deve ter apenas um campo por linha, e as linhas devem terminar com o caractere LF (0x0A
).mongoexport
inclui apenas o(s) campo(s) especificado(s). Os campos especificados podem ser um campo dentro de um subdocumento.Consulte Usar um Arquivo para Especificar os Campos a Serem Exportados no Formato CSV para obter exemplos de uso.
--query=<JSON>, -q=<JSON>
Fornece uma query como um documento JSON (encontrado em aspas) para retornar documentos correspondentes na exportação.
Você deve colocar o documento de query entre aspas simples (
'{ ... }'
) para garantir que ele não interaja com seu ambiente de shell.A query deve estar no formato JSON v2 estendido (modo relaxado ou canônico/estrito), incluindo os nomes de campo e operadores entre aspas:
Por exemplo, dada uma coleção denominada
records
no banco de dadostest
com os seguintes documentos:{ "_id" : ObjectId("51f0188846a64a1ed98fde7c"), "a" : 1, "date" : ISODate("1960-05-01T00:00:00Z") } { "_id" : ObjectId("520e61b0c6646578e3661b59"), "a" : 1, "b" : 2, "date" : ISODate("1970-05-01T00:00:00Z") } { "_id" : ObjectId("520e642bb7fa4ea22d6b1871"), "a" : 2, "b" : 3, "c" : 5, "date" : ISODate("2010-05-01T00:00:00Z") } { "_id" : ObjectId("520e6431b7fa4ea22d6b1872"), "a" : 3, "b" : 3, "c" : 6, "date" : ISODate("2015-05-02T00:00:00Z") } { "_id" : ObjectId("520e6445b7fa4ea22d6b1873"), "a" : 5, "b" : 6, "c" : 8, "date" : ISODate("2018-03-01T00:00:00Z") } { "_id" : ObjectId("5cd0de910dbce4346295ae28"), "a" : 15, "b" : 5, "date" : ISODate("2015-03-01T00:00:00Z") } O
mongoexport
a seguir utiliza a opção-q
para exportar somente os documentos com o campoa
maior ou igual a ($gte
)3
e o campodate
menor que ($lt
)ISODate("2016-01-01T00:00:00Z")
, que é especificado com o formato JSON v2 estendido (modo relaxado) para datas ({ "$date": "YYYY-MM-DDTHH:mm:ss.mmm\<offset\>"}
):mongoexport -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' --out=exportdir/myRecords.json O arquivo resultante contém os seguintes documentos:
{"_id":{"$oid":"520e6431b7fa4ea22d6b1872"},"a":3.0,"b":3.0,"c":6.0,"date":{"$date":"2015-05-02T00:00:00Z"}} {"_id":{"$oid":"5cd0de910dbce4346295ae28"},"a":15.0,"b":5.0,"date":{"$date":"2015-03-01T00:00:00Z"}} Você pode classificar os resultados com a opção
--sort
paramongoexport
.
--queryFile=<filename>
Uma alternativa para
--query
. A opção--queryFile
possibilita especificar em um arquivo a consulta no formato JSON v2 estendido.
--type=<string>
Default: json
Especifica o tipo de arquivo a ser exportado. Especifique
csv
para formato CSV oujson
para formato JSON .Se você especificar
csv
, então você também deverá usar a opção--fields
ou--fieldFile
para declarar os campos para exportar da coleção.
--out=<file>, -o=<file>
Especifica um arquivo no qual gravar a exportação. Se você não especificar um nome de arquivo, o
mongoexport
gravará dados na saída padrão (por exemplostdout
).
--jsonFormat=<canonical|relaxed>
Padrão: relaxado
Modifica a saída para usar o modo canônico ou relaxado do formato MongoDB Extended JSON (v2).
Para diferenças entre modos canônicos e relaxados, consulte MongoDB Extended JSON (v2).
--jsonArray
Modifica a saída de
mongoexport
para gravar todo o conteúdo da exportação como um único array JSON . Por padrão, omongoexport
grava dados utilizando um JSON document para cada documento MongoDB .
--noHeaderLine
Por padrão,
mongoexport
inclui os nomes dos campos exportados como a primeira linha em uma saída CSV.--noHeaderLine
direcionamongoexport
para exportar os dados sem a lista de nomes de campos.--noHeaderLine
só é válido com a opção--type
com o valorcsv
.Consulte Excluir Nomes de Campo da Saída CSV para ver exemplos de uso.
--readPreference=<string|document>
Padrão:
primary
Especifica a read preference para
mongoexport
. 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.
mongoexport
primary
O 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.
--skip=<number>
Use
--skip
para controlar ondemongoexport
começa a exportar documentos. Consulteskip()
para informações sobre a operação subjacente.
--limit=<number>
Especifica um número máximo de documentos a incluir na exportação. Consulte
limit()
para informações sobre a operação subjacente.
--sort=<JSON>
Especifica um pedido para os resultados exportados. Se não existir um índice que possa suportar a operação de classificação, os resultados deverão ser inferiores a 32 megabytes.
Use
--sort
em conjunto com--skip
e--limit
para limitar o número de documentos exportados.mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --out=export.0.json mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=100 --out=export.1.json mongoexport -d=test -c=records --sort='{a: 1}' --limit=100 --skip=200 --out=export.2.json Consulte
sort()
para informações sobre a operação subjacente.