Esta documentação é para a versão 100.18.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 mongo shell.
mongoexport não é uma ferramenta para fazer backup de implantações. Se você deseja criar uma solução de backup, consulte Fazer backup e restaurar com o MongoDB Tools.
Dica
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 S totalmente3 gerenciados para obter níveis de dados acessíveis.
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 sistemas 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 para exportar.collection output file Se mongoexport você não especificar um, o 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 especificado para collection output file o 27017especificado de uma instância MongoDB local executando na porta:
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
--uri connection stringno:mongoexport --uri="mongodb://mongodb0.example.com:27017/reporting" --collection=events --out=events.json [additional options] Ao usar o, o banco de dados pode ser especificado como parte do
--uri connection stringstring.Especifique o nome do host e a porta
--hostno:mongoexport --host="mongodb0.example.com: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 Fazer backup e restaurar com as ferramentas do MongoDB.
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
--uri connection stringno: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 o, o banco de dados pode ser especificado como parte do
--uri connection stringstring.Especifique o nome do conjunto de réplica e nós
--hostno: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 stringmongoexport --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 preferência de leitura , inclua a
readPreferenceTagsopção: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 o, o banco de dados pode ser especificado como parte do
--uri connection stringstring.Você pode especificar a preferência de leitura usando a
--readPreferenceopção de linha de comando. A opção de linha de comando usa uma string se especificar apenas o modo de preferência de leitura :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 opcionais 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
mongosno--uri connection stringmongoexport --uri="mongodb://mongos0.example.com:27017/reporting" --collection=events --out=events.json [additional options] Ao usar o, o banco de dados pode ser especificado como parte do
--uri connection stringstring.
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 stringmongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary" --collection=events --out=events.json [additional options] Se especificar as marcações de preferência de leitura , inclua a
readPreferenceTagsopção:mongoexport --uri="mongodb://mongos0.example.com:27017/reporting?readPreference=secondary&readPreferenceTags=region:east" --collection=events --out=events.json [additional options] Ao usar o, o banco de dados pode ser especificado como parte do
--uri connection stringstring.Você pode especificar a preferência de leitura usando a
--readPreferenceopção de linha de comando. A opção de linha de comando usa uma string se especificar apenas o modo de preferência de leitura :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 opcionais 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, -vAumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de registro. Aumente a verbosidade com o formulário
-vincluindo a opção várias vezes (por exemplo,-vvvvv.)
--quietExecuta
mongoexportem 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 que contém valores confidenciais para as opções de
mongoexportseguintes:Esta é a maneira recomendada de especificar uma senha para
mongoexport, além de especificá-la por meio de um prompt de senha. Você pode usar qualquer combinação dos argumentos no arquivo.O arquivo de configuração recebe o seguinte formulário:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Se você especificar a opção
passwordsem especificaruri, poderá definir os outros componentes da string de conexão usando as opções de linha de comandomongoexport, como--usernamee--host.Certifique-se de proteger este arquivo com permissões de sistema de arquivos apropriadas.
Importante
Ao usar a opção
--config, tenha em mente as seguintes limitações e comportamentos:Se você fornecer o campo
passworde uma string de conexão no campouricom uma senha conflitante, amongorestoreemitirá um erro.Se você especificar um arquivo de configuração com
--confige também utilizar as opções de linha de comando--password,--uriou--sslPEMKeyPasswordmongoexport, a opção de linha de comando substituirá a opção de arquivo de configuração correspondente.
--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.0mongoexportde, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a--uriopção: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. Tentar incluir mais de uma, seja usando a
--uriopção 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 da
connection stringpodem ser especificados usando suas próprias opções explícitas de linha de comando, como--usernamee--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
mongoexportno Ubuntu,18.04 você pode enfrentar umacannot unmarshal DNSmensagem de erro ao usar connection strings SRV (nomongodb+srv://formato) com a opção. Nesse caso, use uma das seguintes--uriopções:a opção
--uricom uma string de conexão não SRV (nomongodb://formato)a opção
--hostpara especificar o host e conectar diretamente
Aviso
Em alguns sistemas, uma senha fornecida em uma string de conexão com a opção
--uripode ser visível para programas de status do sistema comopsque 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
--configpara 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,
mongoexporttenta 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
replSetNamee 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,
mongoexportsempre 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>]).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--hoste 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 e, ao mesmo tempo, usar--porte especificar informações conflitantes resultará em um erro.
--sslPermite a conexão com um
mongodou que tenha suporte a TLS/SSLmongoshabilitado.Alternativamente, você também pode configurar o suporte de TLS/SSL diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--ssle 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
.pemque contém a sequência de certificados raiz da autoridade de certificação. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.Alternativamente, você também pode especificar o
.pemarquivo diretamente no. Fornecer uma string de conexão e,URI connection stringao mesmo tempo,--sslCAFileusar 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
.pemque contém o certificado e a chave TLS/SSL. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.Esta opção é exigida ao utilizar a
--sslopção para conectar a ummongodou quemongostemCAFilehabilitadoallowConnectionsWithoutCertificatessem.Alternativamente, você também pode especificar o
.pemarquivo diretamente no. Fornecer uma string de conexão e,URI connection stringao mesmo tempo,--sslPEMKeyFileusar 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--sslPEMKeyPasswordsomente se o arquivo de chave de certificado estiver criptografado. Em todos os casos, omongoexporteliminará 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,
--sslPEMKeyPasswordomongoexportsolicitará uma senha. Consulte Senha do Certificado TLS/SSL.Como alternativa, você também pode especificar a senha diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--sslPEMKeyPassworde 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
--sslPEMKeyPasswordpode ser visível para programas de status do sistema comopsque podem ser invocados por outros usuários. Considere utilizar a opção--configpara especificar um arquivo de configuração contendo a senha.
--sslCRLFile=<filename>Especifica o arquivo
.pemque contém a lista de certificados revogados. Especifique o nome do arquivo.pemusando 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.
--sslAllowInvalidCertificatesIgnora as verificações de validação de certificados de servidor e permite o uso de certificados inválidos. Ao usar a configuração, o MongoDB registra como aviso o uso do certificado
allowInvalidCertificatesinválido.Aviso
Embora disponível, evite utilizar a opção
--sslAllowInvalidCertificatesse possível. Se o uso do--sslAllowInvalidCertificatesfor 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
mongodou 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,mongos--sslAllowInvalidHostnamesconsulte.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--sslAllowInvalidCertificatese 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.
--sslAllowInvalidHostnamesDesabilita a validação dos nomes de host em certificados TLS/SSL. Permite que o
mongoexportse conecte às instâncias do MongoDB mesmo que o nome do host em seus certificados não corresponda ao nome de host especificado.Alternativamente, você também pode desabilitar a validação do nome de host diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--sslAllowInvalidHostnamese 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--authenticationDatabasee.Alternativamente, você também pode especificar o nome de usuário diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--usernamee especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster MongoDB Atlas usando
MONGODB-AWSauthentication mechanismo, você pode especificar seu ID de chave de acesso do AWS em:esse campo,
connection stringo, 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 banco de dados MongoDB que usa autenticação. Utilize em conjunto com as opções
--username--authenticationDatabasee.Para solicitar a senha ao usuário, passe a opção
--usernamesem--passwordou 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 connection string e, ao mesmo tempo, usar--passworde especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando
MONGODB-AWSauthentication mechanismo, você poderá especificar sua chave de acesso secreta da AWS em:esse campo,
connection stringo, 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
--passwordpode ser visível para programas de status do sistema comopsque podem ser invocados por outros usuários. Em vez disso, considere:omitir a opção
--passwordpara receber uma solicitação de senha interativa ouutilizando a opção
--configpara especificar um arquivo de configuração que contém a senha.
--awsSessionToken=<AWS Session Token>Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanisme usando tokens de sessão além do ID da chave de acesso da AWS e da chave de acesso secreta, você poderá especificar o token de sessão da AWS em:esse campo,
o
AWS_SESSION_TOKENauthMechanismPropertiesparâmetro para o,connection stringoua 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 usar o
MONGODB-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica o banco de dados de autenticação onde o especificado
--usernamefoi criado. Consulte Banco de Dados de Autenticação.Se você não especificar um banco de dados de autenticação, o
mongoexportassumirá que o banco de dados especificado para exportar mantém as credenciais do usuário.Se você usar o GSSAPI (Kerberos), PLAIN (LDAP SASL) ou,
MONGODB-AWSauthentication mechanismsdeverá--authenticationDatabasedefinir$externalcomo.Alternativamente, você também pode especificar o banco de dados de autenticação diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--authenticationDatabasee especificar informações conflitantes resultará em um erro.
--authenticationMechanism=<name>Padrão: SCRAM-SHA-1
Especifica o mecanismo de autenticação que a
mongoexportinstância do utiliza para autenticar nomongodmongosou.Alterado na versão 100.1.0:
A partir da versão
100.1.0, omongoexportoferece suporte ao mecanismo de autenticaçãoMONGODB-AWSao se conectar a um cluster MongoDB Atlas.ValorDescriçãoRFC 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 de certificado TLS/SSL do MongoDB.
MONGODB-AWSAutenticaçã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 o
PLAINpara autenticar usuários do banco de dados.PLAINtransmite senhas em texto simples. Esse mecanismo está disponível somente 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 e, ao mesmo tempo, usar--authenticationMechanisme 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
mongodbpadrão.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 connection string e, ao mesmo tempo, usar--dbe 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,
phoneeuser number, você especificaria--fields "phone,user number".Para formatos de
csvsaída,mongoexportinclui 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,
mongoexportinclui apenas o(s) campo(s) especificado(s) e o_idcampo e, se o(s) campo(s) especificado(s) for(em) um campo dentro de um subdocumento, incluirámongoexporto subdocumento com todos os seus campos, não apenas o campo especificado no documento.Veja: Exportar Dados no Formato CSV usando a opção
--fieldspara obter exemplos de uso.
--fieldFile=<filename>Uma alternativa para
--fields. A opção--fieldFilepermite a você especificar em um arquivo o campo ou campos para incluir na exportação e é apenas válido com a opção--typecom valorcsv. O arquivo deve ter apenas um campo por linha, e as linhas devem terminar com o caractere LF (0x0A).mongoexportinclui 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 JSON2 Estendido v ( modo relaxado ou canônico/estrito), incluindo os nomes de campo e operadores entre aspas:
Por exemplo, dada uma coleção denominada
recordsno banco de dadostestcom 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 a seguir
mongoexportusa a opção para exportar somente os documentos com o-qcampoamaior ou igual a ($gte)3e o campodatemenor 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
--sortopçãomongoexportpara.A partir do MongoDB,9.0 o servidor corresponde aos caminhos do campo pontilhado para
nullde forma diferente quando um componente intermediário do caminho é uma array de valores escalares. Esta alteração afeta os$eq$neoperadores,,$in$nine.Por exemplo, considere uma coleção que tenha o documento
{ "a": [ 1 ] }. O caminhoa.bnão existe nesse documento.No MongoDB 8.x e anteriores, o predicado
{ "a.b": { "$ne": null } }corresponde ao documento.A partir do MongoDB 9.0, o mesmo predicado não corresponde ao documento, e o predicado
{ "a.b": { "$eq": null } }corresponde a ele.
Se sua query usar esse predicado, o mesmo valor
--queryselecionará um conjunto diferente de documentos no MongoDB 9.0 do que nas versões anteriores. Uma operação que filtra em{ "$ne": null }retorna menos documentos. Revise qualquer query que compare um caminho pontilhado comnullantes de fazer dump ou exportar dados de uma implantação do MongoDB 9.0. Confirme se a query ainda seleciona os documentos que você espera.
--queryFile=<filename>Uma alternativa para.
--queryA--queryFileopção permite a você especificar em um arquivo a query no formato JSON Estendido2 v.
--type=<string>Default: json
Especifica o tipo de arquivo a ser exportado. Especifique
csvpara formato CSV oujsonpara formato JSON.Se você
csvespecificar, então você também deverá usar a--fieldsopção ou para declarar os campos para exportar da coleção.--fieldFile
--out=<file>, -o=<file>Especifica um arquivo no qual gravar a exportação. Se você não especificar um nome de arquivo, o
mongoexportgravará 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 (v).2
Para diferenças entre modos canônicos e relaxados, consulte MongoDB Extended JSON2 (v).
--jsonArrayModifica a saída de
mongoexportpara gravar todo o conteúdo da exportação como um único array JSON. Por padrão, omongoexportgrava dados utilizando um documento JSON para cada documento MongoDB .
--noHeaderLinePor padrão,
mongoexportinclui os nomes dos campo exportados como a primeira linha em uma saída CSV.--noHeaderLinedirecionamongoexportpara exportar os dados sem a lista de nomes de campo .--noHeaderLinesó é válido com a opção com--typeocsvvalor.Consulte Excluir Nomes de Campo da Saída CSV para ver exemplos de uso.
--readPreference=<string|document>Padrão:
primaryEspecifica a preferência de leitura
mongoexportpara. A opção pode--readPreferencelevar: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 90 a.
mongoexportO padrão éprimarya preferência de leitura.Se a preferência de leitura também for incluída
--uri connection stringno, a linha de comando substituirá a preferência de leitura especificada na string--readPreferenceURI.
--skip=<number>Use para controlar
--skipondemongoexportcomeç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 para obter informações sobre a operação
limit()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.
Utilize em
--sort--skipconjunto com e para limitar o número--limitde 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 sort()Consulte para obter informações sobre a operação subjacente.