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