CouchDB _changes,查看相关

时间:2012-11-20 17:10:31

标签: couchdb

简单问题:我想对数据库中的某些更改做出反应,但仅对那些导致某个view1进行修改的更改做出反应。也就是说,我对数据库中的所有更改都不感兴趣,只是那些影响view1的更改。我不是在谈论过滤器,只是关于视图+更改。这样的事情(虽然这可能不正确):

http://localhost:5984/db/_design/doc1/_view/view1/_changes

CouchDB是否支持这一点?这有道理吗?

1 个答案:

答案 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以您可能感兴趣的方式改进了视图过滤器。