2011-10-18 3 views
6

다음과 같은 구조로 몽고 문서가 있습니다. { "foo": { "bar1": "val1", "bar2": "val2"} } xsx22mongoimport를 사용하여 CSV를 중첩 된 구조로 읽으시겠습니까?

을 사용하여 CSV에서 데이터를 가져오고 싶습니다. 중첩 구조를 지정하기 위해 CSV에서 필드 이름의 형식을 지정하는 방법을 모르겠습니다. 예를 들면 다음과 같습니다.

{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" }{ "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } 원하는 출력 대신 { "_id" : ObjectId("4e9d9d25c5d8708e1f51cdbc"), "foo.bar1" : "example" } 를 반환합니다.

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

필드 이름은 값에 관계없이 문자열로 해석됩니다. foo[bar1]foo: {bar1} 같은 것들도 그대로 사용됩니다.

+0

이것은 현재 가능하지 않을 수 있습니다. [이 스레드] (http://groups.google.com/group/mongodb-user/browse_thread/thread/4d516486b4ac01c2/de29edd7e2fe94be?lnk=gst&q=mongoimport+nested#de29edd7e2fe94be) : CSV로 중첩 할 방법이 없습니다. 이상한 api의 종류. 제안/패치 환영 –

답변

7

현재 mongoimport의 버전 (v2.0)에서는 지원되지 않지만 곧 제공 될 예정입니다. 당신이 JSON로 CSV 데이터를 변환 할 경우 다음 중첩 된 데이터를 가져올 mongoimport --type json을 사용할 수, 그때까지

: 당신은 2.1 예정 여기 JIRA 티켓을 확인하실 수 있습니다 .

관련 문제