CouchDB - 在创建或更新文档时触发代码

时间:2011-09-26 00:24:33

标签: javascript couchdb

我有一个在CouchDB中存储数据的页面。该页面通过javascript直接访问数据库,因此浏览器中隐藏的逻辑不多。在创建新文档时,有一些逻辑可以将数据元素提取到单独的字段中,以便可以搜索它们。

在创建或更新文档时是否可以在服务器上执行此逻辑,或者在访问数据库之前我是否坚持这样做?

1 个答案:

答案 0 :(得分:18)

你有几个选择。

首先,请参阅有关CouchDB update functions的问题。更新函数接收来自浏览器的请求,并且可以在最终将它们存储在CouchDB中之前以任何方式修改它们。例如,有些人使用它们来自动添加时间戳。另请参阅CouchDB上的wiki页面document update handlers

另一种选择是接收CouchDB change notifications。在这种情况下,单独的程序(您自己的浏览器,甚至更好,您运行的独立程序)可以查询CouchDB _changes。在保存文档后,CouchDB将通知此程序。接下来,程序可以获取文档,然后存储任何必要的新修订。

对我而言,听起来应该首先尝试_update功能。