2014-07-17 2 views
0

CouchDB에 문서가 있고 두 사용자가 동시에 문서를 편집하여 그 문서를 편집한다고 가정 해 봅시다.CouchDB에서 문서를 동시에 업데이트 하시겠습니까?

어떻게

어떻게 같은 문서를 통해 만든 두 업데이트 사용자를 병합 ... 문서가 업데이트되기 때문에 경우 _rev 번호가 변경되고 다른 사용자가 자신의 변경 사항을 저장할 수 없음을 처리 할 수 ​​있습니까?

답변

0

_rev으로 클라이언트 측에서 업데이트를 다시 보내거나 update handler function을 작성하는 것이 더 낫습니다. 업데이트 처리기는 업데이트를 실행하는 사용자가 전달한 현재 문서 (최신) 및 매개 변수를 인수로 사용합니다. 결과 함수는 새 문서 또는 null을 반환해야합니다. 서버 측 업데이트로 간주 할 수 있습니다. 이렇게하면 _ver 필드에 대해 걱정할 필요가 없습니다.

+0

이 Update Handler Function의 작동 방식을 이해할 수 없습니다. 자세히 설명 할 수 있습니까? –

+0

업데이트 처리기는 디자인 문서의 기능입니다 (맵 기능과 동일). '/ DB_NAME/_design/DESIGN_NAME/_update/FUN_NAME/DOC_ID' URL로 가면 실행됩니다. Couch는 현재 문서와 요청 데이터 (URL 및 본문의 추가 매개 변수 포함)를 함수의 인수로 전달합니다. 반환 값은 새 문서와 URL을 실행 한 사용자에 대한 응답 인 쌍입니다. [documentation] (http://docs.couchdb.org/en/latest/couchapp/ddocs.html#update-functions) 및 [wiki] (http://wiki.apache.org)의 예제를 살펴보십시오./couchdb/Document_Update_Handlers). –

+0

어디에서이 기능을 작성해야합니까? –

관련 문제