gpt4 book ai didi

view - View 中的 CouchDB 更改 API

转载 作者:行者123 更新时间:2023-12-05 04:14:40 24 4
gpt4 key购买 nike

假设我有一个文档“架构”,其中包含一个 show_from 字段,该字段包含作为 Unix 纪元的时间戳。然后,我创建一个以此 show_from 日期为键的 View ,并且只返回那些键在当前时间戳或之前的文档(根据请求)。因此,文档将“被动”出现在 View 中,而不是来自任何更新请求。

是否可以使用 CouchDB 更改 API 来监视此 View 状态更改,或者我是否必须轮询 View 以监视更改? (我猜是后者,因为change API貌似只有更新才会触发,但只是为了确认!)

最佳答案

_changes 提要可以是 filtered在许多方面。过滤 _changes 提要的方法之一是重复使用 view's map function .

GET/[DB]/_changes?filter=_view&view=[DESIGN_DOC]/[VIEW_NAME]

注意:

对于每个 _changes 请求,CouchDB 将查看每个更改并在过滤器函数(或在本例中为 View 的映射函数)上运行它。这些都不会为后续请求缓存(如在 mapreduce View 上)。因此,除非变更集很小,否则它可能会占用大量资源。

对于大型数据集(有许多更改),使用 View 进行引导非常有用,并且仅增量地跟踪更改。

附加信息:

使用 _changes,您可以轮询自给定序列点以来的更改、最近的 N 更改等。您还可以使用长轮询或连续馈送。只要要考虑(和过滤)的变更集很小,使用 _changes 就有意义。


但是如果 View 本身是按时间顺序排列的,就像你的情况一样,使用更改可能毫无意义。只需查询 View 即可。

关于view - View 中的 CouchDB 更改 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740991/

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