Question

J'ai un document mongo avec une structure comme: { "foo": { "bar1": "val1", "bar2": "val2"} } Je voudrais importer mes données à partir d'un fichier CSV en utilisant mongoimport --type csv --headerline [...]

Je ne sais pas comment formater le nom du champ dans la csv pour traiter la structure imbriquée. Par exemple:

test.csv:

foo.bar1
example

renvoie { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } au lieu de la sortie désirée:

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

Le nom du champ semble être interprété comme une chaîne quelle que soit sa valeur. Des choses comme foo[bar1] et foo: {bar1} sont également utilisés in extenso.

Était-ce utile?

La solution

Ce n'est pas pris en charge dans la version actuelle (v2.0) de mongoimport, mais il devrait arriver bientôt. Vous pouvez consulter le billet d'JIRA ici, prévue pour v2.1:

En attendant, si vous pouvez traduire vos données CSV à JSON alors vous pouvez utiliser mongoimport --type json pour importer les données imbriquées.

EDIT: Cette fonctionnalité est maintenant publié et disponible à partir 2.8.0-rc0

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top