6

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

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

测试.csv:

foo.bar1
example

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

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

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

4

2 回答 2

9

当前 (v2.0) 版本的 mongoimport 不支持此功能,但它应该很快就会推出。您可以在此处查看 JIRA 票证,计划用于 v2.1:

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

编辑: 此功能现已发布,可从2.8.0-rc0

于 2011-10-18T23:35:14.197 回答
1

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

CSV 数据示例

CSV 数据示例

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

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

于 2021-03-10T09:54:10.803 回答