创建或更新文档时的触发代码

CouchDB - trigger code when creating or updating document

本文关键字:代码 更新 文档 创建      更新时间:2023-09-26

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

在创建或更新文档时,是否有可能在服务器上执行此逻辑,或者在击中数据库之前我是否卡住了?

您有几个选择。

首先,看看关于CouchDB更新函数的问题。更新函数接收来自浏览器的请求,并可以在最终将它们存储到CouchDB之前以任何方式修改它们。例如,有些人使用它们来自动添加时间戳。也请参阅关于CouchDB文档更新处理程序的wiki页面。

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

对我来说,听起来你应该先尝试_update功能。