在CouchDB和Cloudant中,当文档发生变化时,数据库会保留以前的版本。什么得到保留,持续多久?
答案 0 :(得分:3)
Cloudant和CouchDB永远保留文档的元数据(id,rev,deleted和conflict)。在压缩期间删除文档内容(在Cloudant中自动删除,在CouchDB中手动),但有一个例外:在发生冲突的情况下,我们将保留文档内容,直到冲突得到解决。
对于每个文档,我们保留最后的X个修订版,其中X是{username}.cloudant.com/{db}/_revs_limit
返回的数字,默认为1000.比过去1000更新的修订版被删除。您可以通过向该端点发出带有新值的PUT请求来更改_revs_limit
。例如:
curl -X PUT -d "1500" https://username.cloudant.com/test/_revs_limit
因此,如果将文档复制到两个节点,在节点A上编辑1001次,然后再次复制到节点B,则会在节点B上生成冲突(因为我们丢失了加入旧节点所需的信息和新的编辑路径一起)。