【发布时间】:2011-09-26 12:38:25
【问题描述】:
我有一个在 CouchDB 中存储数据的页面。该页面直接通过 javascript 访问数据库,因此没有多少逻辑对浏览器隐藏。在创建新文档时,有一些逻辑将数据元素提取到单独的字段中,以便可以对其进行搜索。
是否可以在创建或更新文档时在服务器上执行此逻辑,还是我在访问数据库之前就卡住了?
【问题讨论】:
标签: javascript couchdb
我有一个在 CouchDB 中存储数据的页面。该页面直接通过 javascript 访问数据库,因此没有多少逻辑对浏览器隐藏。在创建新文档时,有一些逻辑将数据元素提取到单独的字段中,以便可以对其进行搜索。
是否可以在创建或更新文档时在服务器上执行此逻辑,还是我在访问数据库之前就卡住了?
【问题讨论】:
标签: javascript couchdb
你有几个选择。
首先,看看这个关于CouchDB update functions 的问题。更新函数接收来自浏览器的请求,并且可以在最终将它们存储到 CouchDB 之前以任何方式修改它们。例如,有些人使用它们来自动添加时间戳。另请参阅 CouchDB document update handlers 上的 wiki 页面。
另一种选择是接收CouchDB change notifications。在这种情况下,一个单独的程序(您自己的浏览器,或者更好的是,您运行的独立程序)可以查询 CouchDB 的_changes。 CouchDB 将在文档保存后通知该程序。接下来,程序可以获取文档,然后存储任何必要的新修订。
在我看来,您应该先尝试_update 函数。
【讨论】: