简单问题:我想对数据库中的某些更改做出反应,但仅对那些导致某个view1
进行修改的更改做出反应。也就是说,我对数据库中的所有更改都不感兴趣,只是那些影响view1
的更改。我不是在谈论过滤器,只是关于视图+更改。这样的事情(虽然这可能不正确):
http://localhost:5984/db/_design/doc1/_view/view1/_changes
CouchDB是否支持这一点?这有道理吗?
答案 0 :(得分:2)
这是可能的,但另一种方式。自1.1.0发布以来,CouchDB能够use map function as filters进行更改。这类似于常规过滤器:如果键值对对于更改的文档至少发出一次,则意味着他通过过滤器并且_changes
产生关于他的记录。如果您只需要获取特定视图的新更新,则需要指定启动since
seq编号 - 可以从字段_design/ddoc-name/_info
的{{1}}资源轻松检索。自1.3发布以来,您还可以指定view_index/update_seq
来监听当前时间点的更新。
请注意,此视图过滤器不使用视图索引,并且在发生新更改时不会更新它。此外,还有set of patches以您可能感兴趣的方式改进了视图过滤器。