将mongodb集合导出到具有子文档列表的csv中

时间:2013-07-02 09:26:54

标签: mongodb

我有一个名为“Books”的集合和我的子文档

{
    Country : 'XYZ'
    Books : [
             {"name" : "book1", "url" : "book1url", "auth_email" : "emailid1"},
             {"name" : "book2", "url" : "book2url", "auth_email" : "emailid2"},
             {"name" : "book3", "url" : "book3url", "auth_email" : "emailid3"},
             {"name" : "book4", "url" : "book4url", "auth_email" : "emailid4"}
             ..........................................
           ]
}

我想将其导出为具有以下格式的csv文件

Country | name | url      | auth_email| name | url       | auth_email | ................
XYZ       book1  book1url   emailid1    book2  book2url   emailid2 ...................

我做了类似的事

mongoexport -host localhost -db test -collection Books -csv > TopBooksOnline.csv -f Country,Books.name,Books.url,Books.auth_email

但是我在“Books.name”,“Books.url”和“Books.auth_email”字段中找到了空白内容

如果我这样做

mongoexport -host localhost -db test -collection Books -csv > TopBooksOnline.csv -f Country,Books

然后它会将我的所有子文档合并为一个。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我不认为CSV格式允许您将单个文档拆分为多个文档,因为如果您有嵌套文档,这是您需要的。绝对不会像您期望的那样为每个子文档创建多个字段。如果你想这样做,那么你可以很容易地编写自己的CSV导出器,这样你就可以获得更大的灵活性。