15

我有一个 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'

这或多或少有效,它导出但仅导出字段名而不是电子邮件地址。我还需要导出字段电子邮件地址。

知道我该怎么做吗?即使我确实提供了电子邮件地址字段,我也不明白为什么它不起作用。给出错误。

谢谢你的帮助!

4

2 回答 2

11

找到了。我需要删除空格。

这是错误的:

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'
于 2014-01-14T12:06:08.337 回答
8

创建 fields.txt 文件并将以下字段插入其中:

contactpersons.0.firstname
contactpersons.0.emailaddress

然后您可以使用以下命令将给定字段导出到 .csv

mongoexport -d organisation -c organisation -fieldFile fields.txt --csv > /tmp/export.csv
于 2014-01-14T10:17:50.233 回答