gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:02:21 25 4
gpt4 key购买 nike

我正在将新创建的 pouchdb (3.3.1) 同步到已建立的 (iris) couchdb。

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

如果我在本地执行 info(),我会得到 362 的 update_seq。如果我在 Remote 上执行 info() 操作,它会显示 update_seq 为 4201

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

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

最佳答案

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

如果您想查看这方面的示例,NPM Browser正是这样做的,在顶部显示百分比计数器。 (它也使用 pouchdb-load,但原理是相同的,因为 seq 也在那里报告。)该代码是开源的,因此请随意查看它是如何工作的。 :)

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

关于couchdb - 复制时的 PouchDB/CouchDB 序列计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29138091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com