CouchDB删除并重新创建文档

时间:2012-05-26 11:57:56

标签: couchdb couchcocoa

我正在努力避免在我的CouchDB中进行修改,同时我也可以使用TouchDB的“批量拉动”进行复制(它可以大量拉动所有第一次转换。)仅删除一个是不好的做法文档,并重新创建它而不是修改它,以便所有文档都保留在rev-1?

2 个答案:

答案 0 :(得分:0)

好吧,我想说你的建议让我觉得很脏,但那不会是一个如此答案......

你提到TouchDB和批量拉动,所以你有一个移动应用程序,其数据可以在外部修改,我认为希望能够修改它自己的数据。所以我能想到的最大问题是更新冲突解决方案。即。如何在客户端脱机时处理客户端和服务器上的文档更改。我想你将开始做很多沙发本打算为你处理的同步工作..

答案 1 :(得分:0)

在CouchDB中删除文档不会重置_rev。

CouchDB从不删除文档,它只是将最后一个修订标记为已删除。压缩将删除以前的修订,仅保留最后一个修订。这是复制正常工作所必需的。这就是为什么删除的文档修订版不应包含任何数据,而只包含文档的_id和_deleted标志。

完全删除任何已删除文档痕迹的唯一方法是将所有文档复制到新数据库。但请记住复制的后果。