我正在尝试为 CouchDB 编写一个验证函数,该函数仅应在使用的 HTTP 方法是 post 时运行(类似于 CRUD 术语中的 CREATE 事件)。
这是我的代码:
function(newDoc, oldDoc, userCtx) {
if (newDoc.type == "post") {
throw({forbidden : 'no way'});
}
}
我将它放在这样的设计文档中:
{
"_id": "_design/delete",
"_rev": "7-6bd645d2412fea53011a480d71590ff8",
"validate_doc_update": "function(newDoc, oldDoc, userCtx) {if (newDoc.type == 'post') {throw({forbidden : 'no way'});}}"
}
我期望它将拒绝创建我尝试添加到数据库的任何新文档。但由于某种原因,该功能似乎根本没有被触发。
我猜我对使用 post 方法的检查不正确。有谁看到我做错了什么?