Verwenden Sie Mongoimport, um CSV in eine verschachtelte Struktur zu lesen?
-
26-10-2019 - |
Frage
Ich habe ein Mongo -Dokument mit einer Struktur wie: { "foo": { "bar1": "val1", "bar2": "val2"} }
Ich möchte meine Daten aus einem CSV verwenden mongoimport --type csv --headerline [...]
Ich bin mir nicht sicher, wie ich den Feldnamen im CSV formatieren soll, um die verschachtelte Struktur anzugehen. Zum Beispiel:
test.csv:
foo.bar1
example
kehrt zurück { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }
anstelle der gewünschten Ausgabe:
{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo: {"bar1" : "example"} }
Der Feldname scheint unabhängig von seinem Wert als Zeichenfolge interpretiert zu werden. Dinge wie foo[bar1]
und foo: {bar1}
werden auch wörtlich verwendet.
Lösung
Dies wird in der aktuellen (v2.0) Version von Mongoimport nicht unterstützt, aber es sollte bald kommen. Sie können das JIRA -Ticket hier für V2.1 ansehen:
Wenn Sie Ihre CSV -Daten bis dahin in JSON übersetzen können, können Sie verwenden mongoimport --type json
Um die verschachtelten Daten zu importieren.
BEARBEITEN:Diese Funktion ist ab sofort veröffentlicht und erhältlich bei 2.8.0-rc0