使用mongoimport将CSV读入嵌套结构?

时间:2011-10-18 15:44:39

标签: mongodb csv mongoimport

我有一个mongo文档,结构如下:{ "foo": { "bar1": "val1", "bar2": "val2"} } 我想使用mongoimport --type csv --headerline [...]

从csv导入我的数据

我不确定如何格式化csv中的字段名称以解决嵌套结构问题。例如:

test.csv:

foo.bar1
example

返回{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } 而不是所需的输出:

{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo: {"bar1" : "example"} }

字段名称似乎被解释为字符串,无论其值如何。 foo[bar1]foo: {bar1}之类的内容也是逐字使用的。

2 个答案:

答案 0 :(得分:9)

当前(v2.0)版本的mongoimport不支持此功能,但它应该很快就会推出。你可以在这里查看JIRA票,预定于v2.1:

在此之前,如果您可以将CSV数据转换为JSON,则可以使用mongoimport --type json导入嵌套数据。

修改 此功能现已发布,可从2.8.0-rc0

获取

答案 1 :(得分:1)

您可以在 CSV 中添加一列,例如 parent_key.array_index.nested_key

CSV 数据示例

CSV data example

导入后 mongo db 中的 JSON 对象图像

JSON object image in mongo db after import