我有一个页面存储数据在CouchDB.该页面通过
javascript直接访问数据库,所以没有太多的逻辑从浏览器中隐藏起来.当创建新文档时,有一些逻辑将数据的元素提取到单独的字段中,以便可以对其进行搜索.
在创建或更新文档时,是否有可能在服务器上执行此逻辑,或者我在遇到数据库之前停止执行此操作?
解决方法
你有几个选择.
首先,看到关于CouchDB update functions的这个问题.更新功能从浏览器接收请求,并且可以以任何方式修改它们,然后最终将它们存储在CouchDB中.例如,有些人使用它们自动添加时间戳.另请参阅CouchDB document update handlers上的wiki页面.
另一个选项是接收CouchDB change notifications.在这种情况下,单独的程序(您自己的浏览器,甚至更好的是运行的独立程序)可以查询CouchDB的_changes.保存文档后,CouchDB将通知此程序.接下来,程序可以获取文档,然后存储所需的任何新修订.
对我来说,听起来你应该先尝试_update函数.