【问题标题】:couchdb - hook in changes-stream to manipulate documentscouchdb - 挂钩更改流以操作文档
【发布时间】:2015-04-02 04:47:52
【问题描述】:

有没有一种方法可以挂钩 couch-db 更改流并使用此事件来操作文档?

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

我正在尝试另一种思路。 我所能做的就是使用文档作为视图的来源。

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

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

但是 - 这个是给专家的 - 如果更新流会使用 any 机制在 couchdb 内 导致文档修改 - 那么我可以将所有这些逻辑保留在沙发上,让它在没有外部帮助的情况下提供服务。

帮助任何人?

【问题讨论】:

    标签: triggers views couchdb


    【解决方案1】:

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

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

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

    【讨论】:

    • 如果我做对了,_update 将作用于已识别的文档,并且不会影响其他文档。我正在寻找一种方法来从数据库中更新其他文档,从而节省沙发和节点之间的传输开销。
    猜你喜欢
    • 2012-12-25
    • 2017-02-19
    • 2016-07-14
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 2022-11-17
    相关资源
    最近更新 更多