视图中的 CouchDB 更改 API
CouchDB change API on view
假设我有一个文档 "schema",其中包含一个 show_from
字段,该字段包含作为 Unix 纪元的时间戳。然后,我创建了一个以此 show_from
日期为键的视图,并且只有 return 键在当前时间戳或之前的那些文档(根据请求)。因此文档将出现在视图 "passively" 中,而不是来自任何更新请求。
是否可以使用 CouchDB 更改 API 来监视此视图状态更改,或者我是否必须轮询视图以观察更改? (我的猜测是后者,因为变化API貌似只是更新触发的,但只是为了确认!)
_changes
提要可以 filtered 有多种方式。
过滤 _changes
提要的方法之一是重复使用 view's map function.
GET /[DB]/_changes?filter=_view&view=[DESIGN_DOC]/[VIEW_NAME]
注:
对于每个 _changes
请求,CouchDB 将查看每个更改并 运行 通过过滤器函数(或在本例中为视图的映射函数)。 None 缓存用于后续请求(如在 mapreduce 视图上)。所以它可能会占用大量资源,除非变更集很小。
对于大型数据集(有很多更改),bootstrap 视图可能很有用,并且只能增量跟踪更改。
附加信息:
使用 _changes
你可以轮询自给定序列点以来的变化,最新的 N 变化,等等。你也可以使用长轮询,或者连续喂养。只要要考虑(和过滤)的变更集很小,使用 _changes
.
就有意义
但是如果视图本身是按时间顺序排列的,就像您的情况一样,使用更改可能毫无意义。查询视图即可。
假设我有一个文档 "schema",其中包含一个 show_from
字段,该字段包含作为 Unix 纪元的时间戳。然后,我创建了一个以此 show_from
日期为键的视图,并且只有 return 键在当前时间戳或之前的那些文档(根据请求)。因此文档将出现在视图 "passively" 中,而不是来自任何更新请求。
是否可以使用 CouchDB 更改 API 来监视此视图状态更改,或者我是否必须轮询视图以观察更改? (我的猜测是后者,因为变化API貌似只是更新触发的,但只是为了确认!)
_changes
提要可以 filtered 有多种方式。
过滤 _changes
提要的方法之一是重复使用 view's map function.
GET /[DB]/_changes?filter=_view&view=[DESIGN_DOC]/[VIEW_NAME]
注:
对于每个 _changes
请求,CouchDB 将查看每个更改并 运行 通过过滤器函数(或在本例中为视图的映射函数)。 None 缓存用于后续请求(如在 mapreduce 视图上)。所以它可能会占用大量资源,除非变更集很小。
对于大型数据集(有很多更改),bootstrap 视图可能很有用,并且只能增量跟踪更改。
附加信息:
使用 _changes
你可以轮询自给定序列点以来的变化,最新的 N 变化,等等。你也可以使用长轮询,或者连续喂养。只要要考虑(和过滤)的变更集很小,使用 _changes
.
但是如果视图本身是按时间顺序排列的,就像您的情况一样,使用更改可能毫无意义。查询视图即可。