Menu Docs
Página inicial do Docs
/
Ferramentas do banco de dados MongoDB
/

Exemplos do mongoexport

Nesta página

  • Exportar em Formato CSV
  • Exportar em Formato JSON
  • Exportar do Host Remoto em Execução com Autenticação
  • Exportar Resultados da Query
  • Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
  • Saiba mais

Esta página mostra exemplos para mongoexport.

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

No exemplo seguinte, o mongoexport exporta dados da collection contacts no banco de dados do users no formato CSV para o arquivo /opt/backups/contacts.csv.

A instância mongod à qual mongoexport se conecta está sendo executada na porta localhost número 27017.

Ao exportar no formato CSV, você deve especificar os campos nos documentos para exportar. A operação especifica os campos name e address para exportar.

mongoexport --db=users --collection=contacts --type=csv --fields=name,address --out=/opt/backups/contacts.csv

A saída seria então semelhante a:

name, address
Sophie Monroe, 123 Example Road
Charles Yu, 345 Sample Street

Somente para exportações CSV, você também pode especificar os campos em um arquivo contendo a lista de campos a serem exportados separados por linhas. O arquivo deve ter apenas um campo por linha.

Por exemplo, você pode especificar os campos name e address em um arquivo fields.txt:

name
address

Em seguida, usando a opção --fieldFile , especifique os campos a exportar com o arquivo:

mongoexport --db=users --collection=contacts --type=csv --fieldFile=fields.txt --out=/opt/backups/contacts.csv

A opção --noHeaderLine pode ser utilizada para excluir nomes de campo em uma exportação CSV. O exemplo a seguir exporta os campos name e address da coleção contacts no banco de dados users e usa --noHeaderLine para suprimir a saída dos nomes dos campo como a primeira linha:

mongoexport --db=users --collection=contacts --type=csv --fields=name,address --noHeaderLine --out=/opt/backups/contacts.csv

A saída CSV pareceria com isto:

Sophie Monroe, 123 Example Road
Charles Yu, 345 Sample Street

Este exemplo cria uma exportação da coleção contacts da instância do MongoDB em execução no número da porta localhost 27017. Isto grava a exportação para o arquivo contacts.json no formato JSON.

mongoexport --db=sales --collection=contacts --out=contacts.json

O exemplo seguinte exporta a coleção contacts no banco de dados marketing a partir de uma instância remota MongoDB que exige autenticação.

Especifique o:

Dica

Omita a opção --password para que mongoexport solicite a senha:

mongoexport --host=mongodb1.example.net --port=27017 --username=someUser --authenticationDatabase=admin --collection=contacts --db=marketing --out=mdb1-examplenet.json

Alternativamente, você utiliza a opção --uri para especificar o host, porta, nome de usuário, banco de banco de dados de autenticação e db.

Dica

Omita a senha na string do URI para que mongoexport solicite a senha:

mongoexport --uri='mongodb://someUser@mongodb0.example.com:27017/marketing?authsource=admin' --collection=contacts --out=mdb1-examplenet.json

Você pode exportar somente os resultados de uma query fornecendo um filtro de query com a opção --query e limitar os resultados a um único banco de dados usando a opção "--db".

Por exemplo, o comando retorna todos os documentos na coleção {1 sales do banco de dados contacts que contêm um campo chamado dept igual a "ABC" e o campo date maior ou igual a ISODate("2018-01-01") (usando o formato canônico para datas { "$date": "YYYY-MM-DDTHH:mm:ss.mmm<offset>"} )

mongoexport --db=sales --collection=contacts --query='{"dept": "ABC", date: { $gte: { "$date": "2018-01-01T00:00:00.000Z" } }}'

Você deve colocar o documento de query entre aspas simples ('{ ... }') para garantir que ele não interaja com seu ambiente de shell.

Novidades na versão 100.1.0.

Para conectar-se a um MongoDB Atlas cluster do que foi configurado para permitir autenticação por meio de credenciais do Amazon Web Services IAM, forneça um connection string a mongoexport semelhante ao seguinte:

mongoexport '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:

mongoexport '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, desta forma:

mongoexport '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 em sua plataforma usando variáveis de ambiente padrão do AWS IAM. mongoexport 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:

mongoexport 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Voltar

Comportamento