2015-08-17 3 views
1

Я экспортирую документы коллекции, названные командой MongoDB, как файл csv. Например, у меня есть этот документ MongoDB:Экспортировать массив в csv из MongoDB

{ 
    "_id" : "149", 
    "official_name" : "yaChAaoiqn", 
    "common_name" : "VMlEXjTOZE", 
    "country" : "YSpbYyPWSo", 
    "championship" : "rwSbupqsln", 
    "uniform" : [ 
     "first_colour", 
     "second_colour", 
     "third_colour" 
    ] 
} 

Я использую следующую команду для экспорта документов в формате CSV:

Z:\Program Files\MongoDB\Server\3.0\bin>mongoexport --db paul --collection team 
--type=csv --fields _id,official_name,common_name,country,championship,"uniform[0]","uniform[1]","uniform[2]" --out "C:\path\to\outputFile\output.csv" 

Это CSV У меня есть на выходе:

_id,official_name,common_name,country,championship,uniform[0],uniform[1],uniform[2] 
149,yaChAaoiqn,VMlEXjTOZE,YSpbYyPWSo,rwSbupqsln,"","","" 

Файл csv говорит мне, что есть некоторые проблемы с униформой.
Как установить единое поле в команде для экспорта из MongoDB по праву массива?

+0

Пожалуйста, посмотрите на это сообщение: http://stackoverflow.com/questions/26378769/mongodb-mongoexport-all-objects-in-nested-array –

ответ

1

Я не думаю, что в настоящее время это возможно. Я считаю, что лучше всего использовать однородное поле, не обращаясь к индексу элемента. Затем все значения из массива будут записаны в файл csv, и вы можете правильно переформатировать их после экспорта.

mongoexport --db paul --collection team --type=csv --fields _id,official_name,common_name,country,championship,uniform --out "C:\path\to\outputFile\output.csv" 
+0

Хорошо, я написал программу Java, чтобы изменить эту часть csv файл. спасибо – DistribuzioneGaussiana

Смежные вопросы