2011-10-18 11 views
6

Ho un documento mongo con una struttura come: { "foo": { "bar1": "val1", "bar2": "val2"} } vorrei importare i miei dati da un CSV utilizzando mongoimport --type csv --headerline [...]Utilizzare mongoimport per leggere CSV nella struttura nidificata?

Non sono sicuro di come formattare il nome del campo nella csv per affrontare la struttura annidata. Per esempio:

test.csv:

foo.bar1 
example 

rendimenti { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } invece dell'uscita desiderata:

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

Il nome del campo sembra essere interpretato come una stringa indipendentemente dal suo valore. Cose come foo[bar1] e foo: {bar1} vengono anche utilizzate alla lettera.

+0

Potrebbe non essere possibile al momento. Da [questo thread] (http://groups.google.com/group/mongodb-user/browse_thread/thread/4d516486b4ac01c2/de29edd7e2fe94be?lnk=gst&q=mongoimport+nested#de29edd7e2fe94be): Non c'è modo di fare il nesting con csv. Tipo di api strana. Suggerimenti/patch benvenuto –

risposta

7

Questo non è supportato nella versione corrente (v2.0) di mongoimport, ma dovrebbe essere disponibile a breve. È possibile controllare il biglietto JIRA qui, prevista per v2.1:

Fino ad allora, se è possibile tradurre i dati CSV a JSON allora si potrebbe utilizzare mongoimport --type json per importare i dati nidificato .

Problemi correlati