Использование Mongoimport для чтения CSV в вложенную структуру?
-
26-10-2019 - |
Вопрос
У меня есть документ Mongo с такой структурой: { "foo": { "bar1": "val1", "bar2": "val2"} }
Я хотел бы импортировать мои данные из CSV, используя mongoimport --type csv --headerline [...]
Я не уверен, как отформатировать имя поля в CSV для решения вложенной структуры. Например:
test.csv:
foo.bar1
example
возврат { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }
вместо желаемого вывода:
{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo: {"bar1" : "example"} }
Имя поля, кажется, интерпретируется как строка независимо от ее значения. Вещи как foo[bar1]
а также foo: {bar1}
также используются дословно.
Решение
Это не поддерживается в текущей (v2.0) версии Mongoimport, но он должен скоро. Вы можете проверить билет JIRA здесь, запланированный на v2.1:
До тех пор, если вы можете перевести данные о CSV в JSON, вы можете использовать mongoimport --type json
импортировать вложенные данные.
РЕДАКТИРОВАТЬ:Эта функция выпущена сейчас и доступна в 2.8.0-rc0