2011-10-18 16 views
6

Tengo un documento mongo con una estructura como: { "foo": { "bar1": "val1", "bar2": "val2"} } Me gustaría importar los datos de un CSV con mongoimport --type csv --headerline [...]¿Utiliza mongoimport para leer CSV en una estructura anidada?

No estoy seguro de cómo formatear el nombre del campo en el csv para hacer frente a la estructura anidada. Por ejemplo:

test.csv:

foo.bar1 
example 

vuelve { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } en lugar de la salida deseada:

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

El nombre del campo parece interpretarse como una cadena sin importar su valor. Cosas como foo[bar1] y foo: {bar1} también se usan textualmente.

+0

Esto puede no ser posible en la actualidad. De [este hilo] (http://groups.google.com/group/mongodb-user/browse_thread/thread/4d516486b4ac01c2/de29edd7e2fe94be?lnk=gst&q=mongoimport+nested#de29edd7e2fe94be): No hay manera de hacer anidar con csv. Una especie de api extraño. Sugerencias/parches bienvenidos –

Respuesta

7

Esto no es compatible con la versión actual (v2.0) de mongoimport, pero debería estar disponible en breve. Se puede extraer el billete JIRA aquí, prevista para v2.1:

Hasta entonces, si se puede traducir sus datos CSV a JSON entonces se podría utilizar mongoimport --type json para importar los datos anidada .

Cuestiones relacionadas