Pergunta

I have a mongo document with a structure like: { "foo": { "bar1": "val1", "bar2": "val2"} } I'd like to import my data from a csv using mongoimport --type csv --headerline [...]

I am not sure how to format the field name in the csv to address the nested structure. For instance:

test.csv:

foo.bar1
example

returns { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } instead of the desired output:

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

The field name seems to be interpreted as a string regardless of its value. Things like foo[bar1] and foo: {bar1} are also used verbatim.

Foi útil?

Solução

This isn't supported in the current (v2.0) version of mongoimport, but it should be coming soon. You can check out the JIRA ticket here, scheduled for v2.1:

Until then, if you can translate your CSV data to JSON then you could use mongoimport --type json to import the nested data.

EDIT: This feature is released now, and available from 2.8.0-rc0

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top