我有一個頁面,它將數據存儲在CouchDB中。該頁面通過javascript直接訪問數據庫,因此瀏覽器不會隱藏大部分邏輯。創建新文檔時,有一些邏輯將數據的元素提取到單獨的字段中,以便可以搜索它們。CouchDB - 創建或更新文檔時觸發代碼
當創建或更新文檔時,是否可以在服務器上執行此邏輯,或者我是否在創建或更新文檔之前執行此操作?
我有一個頁面,它將數據存儲在CouchDB中。該頁面通過javascript直接訪問數據庫,因此瀏覽器不會隱藏大部分邏輯。創建新文檔時,有一些邏輯將數據的元素提取到單獨的字段中,以便可以搜索它們。CouchDB - 創建或更新文檔時觸發代碼
當創建或更新文檔時,是否可以在服務器上執行此邏輯,或者我是否在創建或更新文檔之前執行此操作?
您有幾個選項。
首先,看到關於CouchDB update functions的這個問題。更新函數接收來自瀏覽器的請求,並且可以在最終將其存儲在CouchDB中之前以任何方式修改它們。例如,有些人使用它們來自動添加時間戳。另請參閱CouchDB document update handlers上的wiki頁面。
另一種選擇是收到CouchDB change notifications。在這種情況下,單獨的程序(您自己的瀏覽器,甚至更好,您運行的獨立程序)可以查詢CouchDB的_changes
。在文件被保存後,CouchDB將通知該程序。接下來,程序可以獲取文檔,然後存儲任何必需的新修訂。
對我來說,聽起來好像你應該先嚐試_update
函數。