繁体   English   中英

复制时的PouchDB / CouchDB序列计数器

[英]PouchDB/CouchDB Sequence Counter on Replicate

我在现场同步一个刚毕业的pouchdb(3.3.1)已建立的(IRIS)的CouchDB。

初始复制成功发生( 暂停事件触发)。

如果我在Local上执行info() ,我会得到一个362的update_seq。 如果我在遥控器上执行info() ,则会显示update_seq为4201

我认为这对我有意义:本地数据库没有修订版 - 只有叶子(即数据库中有362个叶子),而远程数据库序列计数器反映了自首次创建以来所做的所有历史更改。

我的问题是:我如何以编程方式确定序列计数器中两个数据库之间的初始“偏移量”是什么? 特别是我希望能够衡量初始复制的进度。

您无法真正比​​较两个数据库中的seq。 但是,您可以在远程数据库上执行db.info() ,获取update_seq ,然后将其与复制期间on('change')事件中为您提供的last_seq进行比较。 这将告诉你你取得了多大的进步。

如果您希望看到一个这样的示例, NPM浏览器就是这样做的,以显示顶部的百分比计数器。 (它也使用pouchdb-load,但原理是一样的,因为seqs也在那里报告。)代码是开源的,所以请随时查看它是如何工作的。 :)

编辑:正如注释中所指出的,如果您使用的是sync而不是replicate ,则需要在读取last_seq时检查direction参数。 同样对于Cloudant,您需要将字符串拆分为-以获取整数seq。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM