0
에 데이터를 쓰는 동안

나는 CouchDB를에서 전체 데이터를 삭제하려고 다시 내가 수정 ** _ ID 필드와 몇 가지 추가 필드 **오류가 CouchDB를

하지만 내가 가진 동일한 데이터를 쓰기 위해 노력하고 있어요 발생

{ '이유'=> '. 문서 업데이트 충돌', '오류'=> '충돌', 'ID'=> 'test_1' }, { : 다음과 같은 오류가 'reason'=> '문서 업데이트 충돌.', '오류'=> '충돌', 'ID'=> 'test_2' },

어떻게 오류를 해결하려면?

+1

오류를 재생산하는 curl 명령 (또는 API 호출, 덜 유용하지만 명확하지 않은 내용)을 제공 할 수 있습니까? –

+0

업데이트 할 때 _rev를 전달하지 않은 것처럼 보입니다 ... 그러나 이것은 이론적으로는 우리에게 세부 정보를 제공하지 않았기 때문에 가능합니다. – sebster

+0

안녕하세요, 내 소파 DB _id에서 기본 키입니다. DB의 기본 키를 변경하면 자동으로 새로운 _rev (버전)가 생성됩니다. 그렇다면 왜 내가 옛날을 지나쳐야합니까? 오래된 _rev를 전달하면 어떤 일이 일어나고 어떤 오류가 발생합니까? – saravanakumar

답변

0

새 문서 "test_1"을 만들 때 이름이 이미 다른 _rev가있는 문서가 있어야합니다. 이전 "test_1"을 업데이트해야하는 경우 업데이트 할 때 해당 문서의 _rev를 제공해야합니다. 그렇지 않으면 "test_1"을 삭제 한 다음 "test_1"이라는 이름의 다른 문서를 만들 수 있습니다. 여기에서 유의할 점은 해당 문서를 업데이트 할 때 특정 문서의 최신 _rev를 제공해야한다는 것입니다.

+0

고맙습니다 @Sanj. 이제 알았어. 질문 있네. 특정 또는 전체 문서를 삭제하기 위해, HTTP 내용을 다음과 같이 _deleted : 내 코드에서 true로 설정합니다. 즉, DB 메모리에서 삭제되거나 GUI에서 데이터를 숨기고 화면 뒤쪽에 데이터를 유지할 것입니까? 왜냐하면 왜 내가 DB에서 특정 문서 전체 또는 전체 문서를 삭제하고 동일한 문서를 해당 DB에 다시 쓰는 지 알기 때문에 _rev ID가 방금 1에서 시작하는 대신 마지막 버전 ID에서 업데이트되었습니다. – saravanakumar