0

我想從CouchDB的刪除全部數據,並再次我想寫改良** _ id字段和一些額外的領域**錯誤而寫入數據到CouchDB的

,但我同樣的數據得到以下錯誤:

{ '原因'=> '文獻更新衝突', '錯誤'=> '衝突', 'ID'=> 'TEST_1' }, { 'reason'=>'文檔更新衝突', '錯誤'=> '衝突', '身份證'=> 'test_2' },

如何解決這個錯誤嗎?

+1

你能否提供curl命令的完整列表(或API調用,儘管這些命令不太實用,因爲它們不清楚它們在引擎蓋下做了什麼)會重現錯誤? – 2014-08-28 21:59:45

+0

看起來你在更新時沒有通過你的_rev ......但這只是理論上的,因爲你沒有提供任何細節。 – sebster 2014-08-29 14:35:46

+0

大家好,在我的沙發DB _id是主鍵。如果我更改了數據庫的主鍵,它會自動創建一個新的_rev(版本)。那爲什麼我需要通過舊的_rev?假設如果我通過舊的_rev,會發生什麼,或者我會得到什麼錯誤? – saravanakumar 2014-08-30 08:59:27

回答

0

創建新文檔「test_1」時,應該有一個文檔,該文檔中的數據庫中已經有一個不同的_rev。 如果您需要更新舊的「test_1」,則需要在更新時提供該文檔的_rev。否則,您可以刪除「test_1」,然後嘗試使用名稱「test_1」創建另一個文檔。 這裏的要點是,當更新該文檔時,您應該提供某個文檔的最新_rev。

+0

Thankyou @Sanj。現在我明白了。我有一個問題。爲了刪除特定或整個文檔,我在我的代碼中設置了像這樣的_deleted:true的HTTP內容。這意味着它會從數據庫內存中刪除,還是隻從GUI中隱藏數據,並將數據保存在屏幕後面?因爲爲什麼我問這個問題意味着,如果我從數據庫中刪除特定或整個文檔,並再次將同一文檔寫入該數據庫,那次_rev id剛從最新版本的id更新而不是從1開始。 – saravanakumar 2014-09-01 17:58:41