Mongodb导出嵌套字段

Ste*_*icz 13 mongodb mongoexport

我有一个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"
}
Run Code Online (Sandbox Code Playgroud)

我想导出所有文档,只想要字段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'
Run Code Online (Sandbox Code Playgroud)

这或多或少都有效,它只导出字段firstname而不是emailaddress.我还需要它导出字段emailaddress.

知道我怎么能这样做吗?即使我确实给了emailaddress字段,我也不明白为什么它不起作用.做错了.

谢谢你的帮助!

Ste*_*icz 10

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

这是错的:

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'
Run Code Online (Sandbox Code Playgroud)

这是对的:

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'
Run Code Online (Sandbox Code Playgroud)


Par*_*ade 8

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

contactpersons.0.firstname
contactpersons.0.emailaddress
Run Code Online (Sandbox Code Playgroud)

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

mongoexport -d organisation -c organisation -fieldFile fields.txt --csv > /tmp/export.csv
Run Code Online (Sandbox Code Playgroud)