CouchDB的过滤复制可以复制文档的最后100个修订版吗?

tim*_*ck1 5 replication couchdb

是否可以将CouchDB的过滤复制设置为不仅复制每个文档的最新版本,还复制每个文档的最后100个版本?

我想要这个功能,因为我打算允许每个应用程序实例选择哪个最新版本(修订版将来自多个来源,每个版本具有不同的准确性/可信度)是最准确的,所以我需要多个版本可用在每个数据库实例中.

具体用例如下:

CouchApp 1包含一个改革宗教派所有会众的数据数据库.

CouchApp 2包含全球所有改革宗教派中所有会众的数据数据库.

CouchApps 1和2设置为双向复制以保持彼此同步,但CouchApp 1仅从CouchApp 2的面额复制过滤器请求一个面额的数据.

用户1是匿名的,因此相对不受信任,而用户2是CouchApp2的管理员,因此具有高级别的权限/可信度.两个CouchApps都设置为比权威数据更多地信任最近的数据2/3.

首先(按时间顺序),权威用户2将关于会众1的会众数据的10个修订版输入CouchApp 2(所有面额).第二个(按时间顺序),匿名用户1将关于会众1的会众数据的10个修订版输入CouchApp 1(一个面额).

发生双向复制.

CouchApp 2(所有面额)默认显示用户1的数据,因为该数据更新.但是,由于用户1仅输入了会众1数据的一些(但不是全部)字段,因此CouchApp 2显示所有其他字段的用户2的数据.

我很乐意被告知应用程序复制多个修订版本,或评估复制后用户输入的准确性(可以在复制之前完成),或者根本不评估该准确性.

Dom*_*nes 2

抱歉,您无法直接复制旧版本。该_rev号码的唯一目的是用于 MVCC,而不是为跟踪修订历史记录而设计的。话虽这么说,这样做并非不可能

考虑将旧版本存储为文档本身的 JSON 附件。这将使它们与文档的其余部分一起复制。此外,人们还设计了其他策略来解决这个问题。(谷歌一下,你可能会找到更多)