2
遷移到CouchDB時丟失的一件事是能夠爲字段設置默認值。例如,在SQL數據庫中,可以有一個名爲date
的字段,默認爲now()
。是否有可能在CouchDB中做類似的事情?是否可以將字段添加到CouchDB驗證功能中的文檔?
從我所知道的情況來看,在每次創建和更新操作時運行的唯一一段代碼是設計文檔的validate_doc_update
方法。但是,當我們通過創建虛擬驗證來測試它時,我們無法實現它。這裏有一個簡單的驗證功能,試圖設置字段newDoc.foo
,但它永遠不會被保存。
function(newDoc, oldDoc, userCtr) {
newDoc.foo = "bar!";
}
我們已經檢查和驗證,該方法validate_doc_update
獲取調用,所以纔出現,如果有一種方法來自動字段添加到CouchDB文檔,使用驗證功能不是要走的路。還有其他建議嗎?
在最近的CouchDB版本中[不允許在視圖中修改文檔](http://web.archiveorange.com/archive/v/oW6DzLPEoEfysNJMyaLk)。 – 2011-04-29 17:36:14
感謝您提供更新處理程序的提示。精心設計的更新處理程序可以完全像創建和更新文檔的正常機制,同時還添加其他字段(如創建日期)。另外,通過將它們放入更新函數中,它們在複製後不會再次運行。 – Pridkett 2011-05-12 17:04:03