Skip to main content

Exportação de Dados no MongoDB | MongoDB | Banco de Dados

  • Exportação de Dados no MongoDB | MongoDB | Banco de Dados

Visão geral

MongoDB fornece duas ferramentas principais para exportação de dados:

  • exportação lógica (JSON/CSV)
  • backup completo (BSON)

Cada uma atende a cenários distintos de uso.


mongoexport

Quando usar

  • Integração com outros sistemas
  • Geração de arquivos JSON ou CSV
  • Exportação parcial com filtros

Sintaxe básica

mongoexport \
--uri="mongodb://localhost:27017" \
--db=meuBanco \
--collection=minhaCollection \
--out=arquivo.json
  • Questão de prova:
mongoexport --host localhost:27017 -d catalog -c shoes --type=csv -f fields -o shoes.csv


Exportar para JSON

mongoexport \
--db=sample_mflix \
--collection=movies \
--out=movies.json

Exportar para JSON como array

mongoexport \
--db=sample_mflix \
--collection=movies \
--jsonArray \
--out=movies_array.json

Exportar para CSV

mongoexport \
--db=sample_mflix \
--collection=movies \
--type=csv \
--fields=title,year,imdb.rating \
--out=movies.csv

Regras importantes:

  • CSV exige --fields
  • Estruturas aninhadas podem perder formato

Exportar com filtro

mongoexport \
--db=sample_mflix \
--collection=movies \
--query='{ "year": { "$gte": 2000 } }' \
--out=movies_2000.json

Exportar campos específicos

mongoexport \
--db=sample_mflix \
--collection=movies \
--fields=title,year \
--out=movies_simple.json

Autenticação

mongoexport \
--uri="mongodb://user:pass@localhost:27017/meuBanco" \
--collection=minhaCollection \
--out=out.json

mongodump

Quando usar

  • Backup completo do banco
  • Migração entre ambientes
  • Preservação total dos dados

MongoDB utiliza BSON internamente para armazenamento


Sintaxe básica

mongodump \
--uri="mongodb://localhost:27017" \
--out=backup/

Dump de banco específico

mongodump \
--db=sample_mflix \
--out=backup/

Dump de collection

mongodump \
--db=sample_mflix \
--collection=movies \
--out=backup/

Estrutura gerada

backup/
└── sample_mflix/
├── movies.bson
└── movies.metadata.json

Dump com filtro

mongodump \
--db=sample_mflix \
--collection=movies \
--query='{ "year": { "$gte": 2000 } }' \
--out=backup_filtered/

Dump compactado

mongodump \
--db=sample_mflix \
--archive=backup.gz \
--gzip

Autenticação

mongodump \
--uri="mongodb://user:pass@localhost:27017" \
--out=backup/

Comparação entre ferramentas

Característicamongoexportmongodump
FormatoJSON / CSVBSON
LegívelSimNão
Backup completoNãoSim
PerformanceMédiaAlta
Preserva tipos BSONNãoSim

Restore com mongorestore

mongorestore backup/

Restore com arquivo compactado

mongorestore \
--gzip \
--archive=backup.gz

Boas práticas

  • Use mongoexport para dados consumíveis externamente
  • Use mongodump para backup real
  • Prefira --uri para conexões
  • Use --gzip em grandes volumes
  • Evite CSV para documentos complexos

Armadilhas comuns

  • mongoexport não preserva tipos BSON (datas, ObjectId)
  • mongodump não gera arquivos legíveis
  • CSV não suporta bem arrays/objetos
  • Filtros usam sintaxe JSON (não shell JS completo)