簡體   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