2016-02-22 54 views
1

我正在将文档从数据库A复制到数据库B,每当数据库A中的文档到达数据库BI时想要运行“存储过程”以从数据库A中删除大部分字段(数据库A是私有的,但具有附件我想公开可用)你可以在复制中使用CouchDB的“文档更新处理程序”吗?

到目前为止,我已经看到,这可能是通过使用_changes feed(连续),然后在每个文档上运行'update'处理程序来实现的。

文件更新处理DOC:https://wiki.apache.org/couchdb/Document_Update_Handlers

这似乎喜欢的事,CouchDB的实现会为我...(我真的不知道还怎么做以上)。

是否有像'钩子'可以在每个进入数据库的文档上运行?

== ==编辑

看来,我想以某种方式包括在复制触发更新处理程序命令?

+1

在复制期间不能使用更新处理程序,您可能需要一个单独的进程,从DB A的'_changes'提要中读取数据并将文档推入数据库B. –

+0

谢谢。我同意 –

回答

1

这听起来像你的存储文件如何可能能够受益于CouchDB的过滤复制一些变化。您需要将附件存储在可以在两个数据库之间进行等效复制(无需修改)的文档中。

如果这不是一种选择,那么您可以使用transform-pouchdbPouchDB's .replicate.from()方法来管理复制。

这个想法一些快速的伪代码看起来有点像这样:

​​

从理论上讲,这(或类似的东西)应该做你想要什么......或者至少给你在其中做你想要的框架。^_^

希望有所帮助!

+0

谢谢。我所做的就是提供一个登录页面,以便在成功验证时将您重定向到正确的url(原始请求中的参数) –

+0

哦。整齐。 :)如果你觉得它有用,请介意在这里接受我的答案?我会很感激。 :) – BigBlueHat

相关问题