Existe alguma maneira de despejar a coleção mongo no formato json? Ou no shell ou usando o driver java. Estou procurando aquele com melhor desempenho.
Existe alguma maneira de despejar a coleção mongo no formato json? Ou no shell ou usando o driver java. Estou procurando aquele com melhor desempenho.
Respostas:
O Mongo inclui um utilitário mongoexport (consulte documentos) que pode despejar uma coleção. Este utilitário usa o libmongoclient nativo e é provavelmente o método mais rápido.
mongoexport -d <database> -c <collection_name>
Também é útil:
-o
: escreve a saída no arquivo, caso contrário, a saída padrão é usada ( docs )
--jsonArray
: gera um documento json válido, em vez de um objeto json por linha ( docs )
--pretty
: produz json formatado ( docs )
--pretty
bandeira:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
se foi a partir da versão 2.6.10.
Use mongoexport / mongoimport para despejar / restaurar uma coleção:
Exportar arquivo JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Importar arquivo JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
AVISO
mongoimport
emongoexport
não preserve de forma confiável todos os tipos de dados BSON avançados, pois o JSON pode representar apenas um subconjunto dos tipos suportados pelo BSON. Como resultado, os dados exportados ou importados com essas ferramentas podem perder alguma medida de fidelidade.
Além disso, http://bsonspec.org/
O BSON foi projetado para ser rápido na codificação e decodificação. Por exemplo, números inteiros são armazenados como números inteiros de 32 (ou 64) bits, portanto, não precisam ser analisados para e do texto. Isso usa mais espaço que JSON para números inteiros pequenos, mas é muito mais rápido para analisar.
Além da compacidade, o BSON adiciona tipos de dados adicionais indisponíveis no JSON, principalmente os tipos de dados BinData e Date.
mongoexport
/ mongoimport
ida e volta?
Aqui está o meu comando para referência:
mongoexport --db AppDB --collection files --pretty --out output.json
No Windows 7 (MongoDB 3.4), tem de se mover o cmd para o lugar onde mongod.exe
e mongo.exe
reside arquivo =>
C:\MongoDB\Server\3.4\bin
o resto não vai funcionar dizendo que não faz recongnize mongoexport
comando.
Na documentação do Mongo:
O utilitário mongoexport coleta e exporta para JSON ou CSV. Você pode especificar um filtro para a consulta ou uma lista de campos para saída
Leia mais aqui: http://www.mongodb.org/display/DOCS/mongoexport
Se você deseja despejar todas as coleções, execute este comando:
mongodump -d {DB_NAME} -o /tmp
Ele irá gerar todos os dados de coleções json
e bson
extensões no /tmp/{DB_NAME}
diretório
mongodump
gera dados em BSON
formato. Outras respostas corretamente referidas mongoexport
como a ferramenta certa.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Você pode especificar ohost
,port
,username
,password
como este e o banco de dados de autenticação padrão éadmin
.