에서 삭제 된 문서에 대한 공식 문서에서 권장하는 복제 충돌을 해결하는 방법을 복제 충돌을 해결하는 것입니다 :CouchDB를
- 모든 버전에 대한 문서를 가져 오기 (예보기를 통해) 문서의
_conflicts
필드를 사용하여 충돌 수정 읽기 - 는 응용 프로그램 별
- 원치 않는 수정
병합 할 때 문제가 발생하면 은 문서를 삭제했습니다. _conflicts
필드에는 표시되지 않지만 _deleted_conflicts
필드에는 표시되지 않습니다. _conflicts
필드만을 사용하여 병합하고 로컬 데이터베이스에서 문서를 삭제하고 원격 복제본에서 편집하면 복제시 로컬로 복원됩니다. 내 응용 프로그램 모델에서는 병합 할 때 삭제가 항상 우선한다고 가정합니다. 삭제 된 문서는 편집 내용과 관계없이 삭제 된 상태로 유지됩니다.
언뜻보기에 가장 간단한 방법은 _deleted_conflicts
이 비어 있지 않은지 확인하고 비어 있지 않으면 문서를 삭제하는 것입니다. 음 ...이 문제는 # 4 단계에서 편집 충돌을 해결하여 가져온 삭제 된 버전을 포함 할 수 있으므로이 경우 _deleted_conflicts
의 의미가 모호합니다.
문서를 삭제 된 것으로 표시하고 응용 프로그램 계층에서 필터링하는 것과 같은 전반적인 작업을 포함하지 않는 CouchDB (있는 경우)에서 삭제 충돌을 처리하는 표준 방법은 무엇입니까?