2012-11-20 55 views
1

简单的问题:我想对数据库中的某些更改做出反应,但仅限于那些导致某些view1中的修改的更改。也就是说,我对数据库中的所有更改都不感兴趣,只是影响view1的那些更改。我不是在说这里的过滤器,只是关于视图+更改。像这样的东西(虽然这可能是不正确的):CouchDB _changes,查看相关

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

这是否全部由CouchDB支持?这是否有意义?

回答

2

这是可能的,但以另一种方式。自1.1.0版本发布以来,CouchDB可以通过use map function as filters来更改Feed。这与常规过滤器一样工作:如果键值对至少一次发送给更改过的文档,则意味着他通过了过滤器,并且产生关于他的记录。如果您只需要获取特定视图的新更新,则需要指定凝视since seq号码 - 可以从的_design/ddoc-name/_info资源轻松检索。从1.3版本开始,您可能还会指定since=now来侦听当前时间点的更新。

请注意,此视图过滤器不会使用视图索引,并且在发生新更改时不会更新它。此外,还有set of patches可以改善视图过滤器的方式,您可能也感兴趣。