2012-01-18 44 views
2

有没有办法我可以挂在沙发上 - db变化流并使用这个事件来操作文档?couchdb - 挂钩变化流操纵文档

事情是这样的: 关注这一问题 couchdb - re-sort a result of reduced view

我想思想的另一种方式。 我所能做的就是使用文档作为视图的来源。

我不能重新排序视图,我不能在缩小的视图中使用条目作为新视图中的文档。 但是也许我可以将它们变成文档(为此使用一些新的文档类型)并在这些文档上创建视图?

但即使我使用couchdb外部的一些代码来执行此操作,此代码每次更新原始文档时都必须更新新生成的文档,并且因为我可以使用更新流来通知更新 - 也许我应该使用它?听起来像一个黑客,虽然会起作用,但仍然是黑客。

但是 - 这个人是专家 - 如果有这样一种方式,更新流将使用CouchDB的内任何机制导致文档修改 - 那么我可以把所有这种逻辑在沙发上,和让它在没有外部帮助的情况下提供服务。

帮助任何人?

回答

0

唯一的CouchDB的内部“钩子”用于更新文档,仅适用于一个文档(不一定相同,但有很多限制)。见_update

但是你所描述的可以从外部完成(例如使用node.js)。

请注意,从性能(和并发)的角度来看,触发更新文档的几个文档可能是一个坏主意。

+0

如果我理解正确,_update将对已识别的文档起作用,并且不会影响其他文档。我正在寻找一种方法来更新db *中的OTHER文档*,以节省沙发和节点之间的传输开销。 – 2012-11-08 19:29:46