我想了解CouchDB如何計算文檔的版本ID。我從它是由該位的代碼在這裏計算的來源注意:CouchDB如何計算版本號
couch_util:md5(term_to_binary([Deleted, OldStart, OldRev, Body, Atts2]))
而且我知道,如果我創建一個新的空文檔沒有附件,CouchDB的總是給它的1-967a00dff5e02add41819138abb3284d修訂其中,在十進制是< < 150,122,0,223,245,224,42,221,65,129,145,56,171,179,40,77 >>。
但是,如果我鍵入以下到二郎提示(假已刪除,0 OldStart,0 OLDREV,一個空的身體,不包含附件):
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多少?任何寫入之後,您都會在服務器的響應中獲取生成的數字。 – 2011-05-10 19:00:51
這是因爲我有興趣使用不同的數據存儲與couchdb同步,爲了正確同步,雙方都應以相同的方式計算修訂ID。 – kybernetikos 2011-05-10 21:37:59