我有一个MongoDB,我想导出到.csv文件。
文件:
{
"id" : 28,
"organisation" : "Mickey Mouse company",
"country" : "US",
"contactpersons" : [{
"title" : "",
"typecontact" : "D",
"mobilenumber" : "757784854",
"firstname" : "Mickey",
"lastname" : "Mouse",
"emailaddress" : "mickey@mouse.com"
}],
"modifieddate" : "2013-11-21T16:04:49+0100"
}
我想导出所有文档,只想要字段contactpersons.firstname和contactpersons.emailaddress
我使用此命令行:
mongoexport -o /tmp/export.csv -host dbmongo -port 27017 -db organisation -collection organisationa -u user -p password -csv -fields 'contactpersons.0.firstname, contactpersons.0.emailaddress'
这或多或少有效,它导出但只导出字段firstname而不是emailaddress。我还需要它导出字段emailaddress。
知道我怎么能这样做吗?即使我确实给了emailaddress字段,我也不明白为什么它不起作用。做错了。
感谢您的帮助!
答案 0 :(得分:9)
找到它。我需要删除空格。
这是错误的:
mongoexport -o /tmp/export.csv -host dbmongo -port 27017 -db organisation -collection organisationa -u user -p password -csv -fields 'contactpersons.0.firstname, contactpersons.0.emailaddress'
这是正确的:
mongoexport -o /tmp/export.csv -host dbmongo -port 27017 -db organisation -collection organisationa -u user -p password -csv -fields 'contactpersons.0.firstname,contactpersons.0.emailaddress'
答案 1 :(得分:7)
创建fields.txt文件并在其中插入以下字段:
contactpersons.0.firstname
contactpersons.0.emailaddress
然后,您可以使用以下命令将给定字段导出到.csv
mongoexport -d organisation -c organisation -fieldFile fields.txt --csv > /tmp/export.csv