将具有数组的集合导出为从mongodb到csv的字段

时间:2013-12-19 22:11:13

标签: mongodb mapreduce

我正在尝试将数据从mongo db导出到csv文件。问题是对于特定的集合(下面)。

我想将数组中的值导出到csv文件,目前当我执行导出时,“results”字段显示(在csv文件中)“array [3]”而不是数组的值。

 {"_id"    : ObjectId("527f2430e1542d0707000000"),       
 "results" : [
       {"description" : "description number 1"}, 
       {"description" : "description number 2"}, 
       {"description" : "description number 3"}]
}

一位朋友提到我应该研究MapReduce来处理这个问题。

所以我的问题是?是mapreduce的方式或是否有另一种解决方案,我可以在导出的csv文件中获取数组数据?

任何建议都将不胜感激,并提前感谢您。

1 个答案:

答案 0 :(得分:0)

不,map reduce对此没有帮助。它用于进行查询,而不是用于导出内容。 CSV是一种文本文件格式,其中每个单元格都标有某种分隔符(或者,最常见)。因此,当您尝试在一个单元格中插入数组时,mongo不知道该怎么做(这没关系)。

没有原生方式将复杂数据结构存储为CSV(使用mongodump存储复杂数据)。如果您确实需要将其存储为CSV,则需要编写自己的脚本来迭代所有数据并提供一些适当的格式来存储它。