在 CouchDB 中使用 all_docs 端点时有一种方法可以跟踪最后一个 seq

问题描述 投票:0回答:1

最近,一家第三方公司开始通过CouchDB向我们提供数据,检索数据的责任就落到了我身上。当时,我在某处读到可以使用带有日期参数的 _changes 来检索更改。因此,我将日期和时间保存在一个文件中,认为我可以使用这些信息来下载新数据。然而,我最近发现这种方法不可行,除非文档本身包含日期。有没有什么方法,也许使用 rev 字段或其他方法,来获取基于该日期或该数据的lastseq?

我找到的解决方案是使用 _changes 再次下载所有文件,然后在新旧数据之间进行比较。这样,我可以捕获差异并开始使用最新生成的数据中的新的 Lastseq。但是,数据集相当大,大约 260 GB 或更多。

python json csv couchdb couchdb-2.0
1个回答
0
投票

执行您已有的

_changes
计划,但没有
include_docs
,这样您就可以获得钥匙和
_rev
。然后,从您的 diff 中,您想要获取任何
key
,其
_rev
已从您已下载的数据中提前。然后,您可以将 POST /{db}/_all_docs
include_docs
一起使用,并仅传入 diff 中的文档键(即您知道已更改的文档键)。

© www.soinside.com 2019 - 2024. All rights reserved.