2011-10-18 18 views
6

Mam dokument Mongo o strukturze jak: { "foo": { "bar1": "val1", "bar2": "val2"} } Chciałbym zaimportować dane z pliku CSV, używając mongoimport --type csv --headerline [...]Używanie mongoimport do odczytu CSV do struktury zagnieżdżonej?

Nie jestem pewien, jak sformatować nazwę pola w csv do rozwiązania zagnieżdżone struktury. Na przykład:

test.csv:

foo.bar1 
example 

powraca { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } zamiast żądanego wyjścia:

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

Nazwa pola wydaje się być interpretowane jako ciąg niezależnie od jej wartości. Rzeczy takie jak foo[bar1] i foo: {bar1} są również używane dosłownie.

+0

To może nie być obecnie możliwe. Od [tego wątku] (http://groups.google.com/group/mongodb-user/browse_thread/thread/4d516486b4ac01c2/de29edd7e2fe94be?lnk=gst&q=mongoimport+nested#de29edd7e2fe94be): Nie ma możliwości zagnieżdżania przy użyciu CSV. Rodzaj dziwnego api. Powitanie z sugestiami/łatkami –

Odpowiedz

7

To nie jest obsługiwane w obecnej wersji (v2.0) mongoimport, ale powinno być już wkrótce. Możesz sprawdzić bilet JIRA tutaj, zaplanowanej na v2.1:

Do tego czasu, jeśli można przetłumaczyć dane CSV JSON następnie można użyć mongoimport --type json importować dane zagnieżdżone .