CouchDB가 문서의 개정 ID를 계산하는 방법을 이해하려고합니다. 나는 여기에 코드의이 비트에 의해 계산 있다는 소스에서주의 사항 :CouchDB가 개정 번호를 계산하는 방법
couch_util:md5(term_to_binary([Deleted, OldStart, OldRev, Body, Atts2]))
그리고 나는 아무 첨부 파일이 비어있는 새 문서를 만들 경우, CouchDB를 항상 그것을 1-967a00dff5e02add41819138abb3284d의 개정을주는 것을 알고있는에 십진수는 < < 150122022324522442221651291455617117940,77 >>입니다. 내가 입력하면
그러나, 얼랭 프롬프트에 다음 (삭제에 대해 false, 0 OldStart, OldRev 0, 빈 몸없이 첨부) :
erlang:md5(term_to_binary([false, 0, 0, [], []])).
난 항상 얻을
<<26,196,244,40,211,149,193,185,214,6,230,61,54,138,62,132>>
등.
내가 여기서 잘못하고있는 것은 무엇입니까? 소파에서 생성되는 실제 개정판을 어떻게 처리 할 수 있습니까?
왜 선제 _rev 번호를 확인해야합니까? 쓰기 후에 서버에서 응답으로 생성 된 번호를 가져옵니다. –
다른 데이터 저장소를 couchdb와 동기화하는 데 관심이 있고 올바른 동기화를 위해 양쪽에서 같은 방식으로 개정 ID를 계산해야하기 때문입니다. – kybernetikos