2010-07-16 4 views
13

약 250,000 개의 JSON 형식 파일이 있으며 각 파일에는 하나의 객체가 있습니다 (CouchDB에서 _id로 어떻게 좋아하는지 포맷되어 있음). 원격 CouchDB 서버로 레코드를 가져 오는 가장 좋은 방법은 무엇입니까?json 문서를 Apache CouchDb로 일괄 가져 오기

- 저는 Windows XP 컴퓨터입니다.

- 인터넷에 연결되어 있지만 로컬 컴퓨터에서 couchDB 서버를 설정할 수없고 WWW (방화벽 제한)에 액세스 할 수 없으므로 쉽게 복제 할 수 없습니다.

답변

17

내가보기 엔 당신이 CouchDB를 위키에서 대량 문서의 API로 볼 것을 제안 : 그냥 어떤 같은

{ 
    "docs": [ 
    { "_id": "awsdflasdfsadf", "foo": "bar" }, 
    { "_id": "cczsasdfwuhfas", "bwah": "there" }, 
    ... 
    ] 
} 

을 : 기본적으로 http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API

, 당신은 다음과 같습니다 /someDatabase/_bulk_docs에 POST 요청을 다른 POST 요청, _id 속성을 포함하지 않으면 couchdb가 생성합니다.

동일한 작업을 사용하면 문서 묶음을 업데이트 할 수 있습니다. _rev 속성 만 포함하면됩니다. 그리고 업데이트중인 문서를 삭제하려면 "_deleted": true 속성을 문서에 추가하십시오.

curl -H "Content-Type: application/json" --data-binary @/home/xxx/data.json https://usr:[email protected]:5984/someDatabase/_bulk_docs/ 

환호 : 당신이 당신의 문서 및 사용 컬와 JSON 파일이있는 경우

, 그것은처럼 보일 수 있습니다.

+2

샘의 훌륭한 대답에 약간의 수정. 삭제를 위해서는 _deleted가 아니라 true를 쓰십시오. –

+0

Chris - 항상 저것을 오타입니다. 답변에서 수정되었습니다. –

+0

docs에 대한 최신 링크 : http://docs.couchdb.org/ko/2.0.0/api/database/bulk-api.html#db-bulk-docs –

관련 문제