我有一个在CouchDB中存储数据的页面。该页面通过javascript直接访问数据库,因此浏览器中隐藏的逻辑不多。在创建新文档时,有一些逻辑可以将数据元素提取到单独的字段中,以便可以搜索它们。
在创建或更新文档时是否可以在服务器上执行此逻辑,或者在访问数据库之前我是否坚持这样做?
答案 0 :(得分:18)
你有几个选择。
首先,请参阅有关CouchDB update functions的问题。更新函数接收来自浏览器的请求,并且可以在最终将它们存储在CouchDB中之前以任何方式修改它们。例如,有些人使用它们来自动添加时间戳。另请参阅CouchDB上的wiki页面document update handlers。
另一种选择是接收CouchDB change notifications。在这种情况下,单独的程序(您自己的浏览器,甚至更好,您运行的独立程序)可以查询CouchDB _changes
。在保存文档后,CouchDB将通知此程序。接下来,程序可以获取文档,然后存储任何必要的新修订。
对我而言,听起来应该首先尝试_update
功能。