Menu Docs

Página inicial do DocsIniciar e gerenciar o MongoDBFerramentas do banco de dados MongoDB

mongoexport

Nesta página

  • Sinopse
  • Sintaxe
  • Opções
  • Saiba mais

Esta documentação é para a versão 100.9.0 de mongoexport.

mongoexport é uma ferramenta de banco de dados que produz uma exportação JSON ou CSV de dados armazenados em uma instância MongoDB.

Execute mongoexport na linha de comando do sistema, não no shell mongo .

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 o Online Archive no MongoDB Atlas. O Online Archive arquiva automaticamente os dados acessados com pouca frequência em buckets S3 totalmente gerenciados para uma classificação de dados econômicas.

Você pode usar as Ferramentas de Banco de Dados MongoDB para migrar de um sistema auto-hospedado para o MongoDB Atlas. MongoDB Atlas é o serviço totalmente gerenciado para implementações MongoDB na nuvem. Para saber mais, consulte Semente com mongorestore.

Para saber todas as maneiras de migrar para o MongoDB Atlas, consulte Migrar ou Importar Dados.

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).

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 MongoDB local 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.

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 ignorar o padrão, especifique a read preference:

  • 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:opcional

    mongoexport --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.

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:opcional

    mongoexport --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' --collection=events --db=reporting --out=events.json [additional options]
--help

Retorna informações sobre as opções e uso de mongoexport.

--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 bancode 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

--version

Retorna o número de versão mongoexport.

--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 campo uri: 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 para mongoexport, cada opção de linha de comando substituirá a opção correspondente no arquivo de configuração.

--uri=<connectionString>

Especifica a connection string 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 de mongoexport, a connection string 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:// ou mongodb+srv://. Por exemplo:

mongoexport --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

Somente uma connection string pode ser fornecida. Tentar 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 cadeia de conexão, consulte a documentação Formato de URI da cadeia de conexão .

Observação

Alguns componentes no connection string podem alternativamente ser especificados usando suas próprias opções explícitas de linha de comando, como --username e --password. Fornecer uma connection string 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ê pode enfrentar uma mensagem de erro cannot unmarshal DNS ao usar connection strings SRV (no formato mongodb+srv://) com a opção --uri . Nesse caso, use uma das seguintes opções:

Aviso

Em alguns sistemas, uma senha fornecida em uma connection string com a opção --uri pode ser visível para programas de status do sistema como ps 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 contendo 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úmero 27017.

Para se conectar a um conjunto de réplicas, especifique o replSetName e uma lista de sementes de membros 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 primary.

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>]).

Alternativamente, você também pode especificar o nome do host diretamente no URI connection string. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar --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 cadeia de conexão e, ao mesmo tempo, usar --port e especificar informações conflitantes resultará em um erro.

--ssl

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

Como alternativa, você também pode configurar o suporte de TLS/SSL diretamente no URI connection string. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar --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 no URI connection string. Fornecer uma cadeia 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 um mongod ou mongos que tenha CAFile habilitado sem allowConnectionsWithoutCertificates.

Como alternativa, você também pode especificar o arquivo .pem diretamente no URI connection string. Fornecer uma cadeia 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 da chave de certificado (ou seja, --sslPEMKeyFile). Use a opção --sslPEMKeyPassword somente se o arquivo de chave de certificado estiver criptografado. Em todos os casos, o mongoexport eliminará a senha de todos os registros e relatórios.

Se a chave privada no arquivo PEM for codificada e você não especificar a opção --sslPEMKeyPassword , o mongoexport 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 cadeia de conexão e, ao mesmo tempo, usar --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 como ps 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 ou mongos 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 cadeia 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.

Como alternativa, você também pode desativar a validação do nome de host diretamente no URI connection string. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar --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 .

Como alternativa, você também pode especificar o nome de usuário diretamente no URI connection string. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar --username e especificar informações conflitantes resultará em um erro.

Se estiver se conectando a um cluster MongoDB Atlas usando o MONGODB-AWS authentication mechanism, você pode especificar seu ID de chave de acesso do AWS em:

Consulte Conectar-se a um MongoDB Atlas cluster usando AWS IAM Credentials para obter um exemplo de cada um.

--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 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 cadeia de conexão e, ao mesmo tempo, usar --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:

Consulte Conectar-se a um MongoDB Atlas cluster usando AWS IAM Credentials 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 como ps que podem ser invocados por outros usuários. Em vez disso, considere:

  • omitir a opção --password para receber uma solicitação de senha interativa ou

  • utilizando a opção --config para especificar um arquivo de configuração contendo a senha.

--awsSessionToken=<AWS Session Token>

Se estiver se conectando a um cluster MongoDB Atlas usando o MONGODB-AWS authentication mechanism e usando tokens de sessão além do ID de chave de acesso da AWS e da chave de acesso secreta, você poderá especificar o token de sessão da AWS em:

Consulte Conectar-se a um MongoDB Atlas cluster usando AWS IAM Credentials 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 você não especificar um reconhecimento de data center de autenticação, o mongoexport assumirá que o reconhecimento de data center 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 cadeia de conexão e, ao mesmo tempo, usar --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 no mongod ou mongos.

Alterado na versão 100.1.0: a partir da versão 100.1.0, mongoexport adiciona suporte ao mecanismo de autenticação MONGODB-AWS ao se conectar a um cluster MongoDB Atlas .

Valor
Descrição
SCRAM-SHA-1
RFC 5802 Mecanismo de autenticação de resposta de desafio salgado padrão usando a1 função de hash SHA- .

RFC 7677 Mecanismo de autenticação de resposta de desafio salgado padrão usando a256 função de hash SHA- .

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 apenas no MongoDB Enterprise.
PLAIN (LDAP SASL)
Autenticação externa usando LDAP. Você também pode utilizar o PLAIN para autenticar usuários do banco de dados. PLAIN transmite senhas em texto simples. Esse mecanismo está disponível somente no MongoDB Enterprise.

Como alternativa, você também pode especificar o mecanismo de autenticação diretamente no URI connection string. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar --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. é necessário se o nome do host de uma máquina não corresponder ao nome do 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.

Como alternativa, você também pode especificar o banco de dados diretamente no URI connection string. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar --db e especificar informações conflitantes resultará em um erro.

--collection=<collection>, -c=<collection>

Especifica a collection para exportar.

--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 e user 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 valor csv. 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 Estendido v2 (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 dados test 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 usa a opção -q para exportar somente os documentos com o campo a maior ou igual a ($gte) 3 e o campo date menor que ($lt) ISODate("2016-01-01T00:00:00Z"), que é especificado usando 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 para mongoexport.

--queryFile=<filename>

Uma alternativa para --query. A opção --queryFile permite a você especificar em um arquivo a query no formato JSON Estendido v2 .

--type=<string>

Padrão: json

Especifica o tipo de arquivo a ser exportado. Especifique csv para formato CSV ou json 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á os dados na saída padrão (por exemplo, stdout).

--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, o mongoexport grava dados utilizando um documento JSON para cada documento MongoDB.

--pretty

Produz documentos em um formato JSON em pretty-print.

--noHeaderLine

Por padrão, mongoexport inclui os nomes dos campos exportados como a primeira linha em uma saída CSV. --noHeaderLine direciona mongoexport para exportar os dados sem a lista de nomes de campos. --noHeaderLine só é válido com a opção --type com o valor csv.

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 read preference 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 onde mongoexport começa a exportar documentos. Consulte skip() 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.

← Exemplos de mongoimport