我已閱讀關於驗證(validate_doc_update),我們可以在上創建CouchDB,但是我沒有弄清楚如何創建它們。我可以通過Fauxton嗎?如何在CouchDB 2上創建「驗證文檔更新」?
Databases -> "mydb" -> Design Documents -> New Doc
是這樣嗎?我必須將函數聲明爲字符串嗎?我需要一個例子(文檔中有一步一步的介紹)。
感謝。
我已閱讀關於驗證(validate_doc_update),我們可以在上創建CouchDB,但是我沒有弄清楚如何創建它們。我可以通過Fauxton嗎?如何在CouchDB 2上創建「驗證文檔更新」?
Databases -> "mydb" -> Design Documents -> New Doc
是這樣嗎?我必須將函數聲明爲字符串嗎?我需要一個例子(文檔中有一步一步的介紹)。
感謝。
我想通了。這裏是一步一步:
通過Fauxton
導航到:數據庫 - > [在此選擇你的數據庫名稱] - >所有文件 - >新建文件,然後填寫上去的文字使用下面的JSON樣板所需的驗證區域,然後單擊保存:
{
"_id": "_design/my_validation_name",
"validate_doc_update": "function(newDoc, oldDoc, userCtx) {throw({forbidden : 'not able now!'});}"
}
通過捲曲
curl -X PUT http://127.0.0.1:5984/my_database/_design/my_validation_name -d '{"validate_doc_update": "function(newDoc, oldDoc, userCtx) { throw({forbidden: \"not able now!\" });}"}'
重要:的的DocID必須由前綴「_design /」和功能的關鍵必須是「validate_doc_update」。請注意函數作爲字符串。
驗證組之後,如果我們試圖創建一個文檔,你必須「現在不能!」看到錯誤..
curl -X PUT http://127.0.0.1:5984/my_database/foo -d '{"foo" : "bar"}'
# {"error":"forbidden","reason":"not able now!"}