validate_on_update可防止删除指定的文档

时间:2014-08-28 14:36:58

标签: couchdb

我有一个简单的validate_on_update函数:

if (!newDoc.type) {
    throw({forbidden: "All documents must have a type specified"});
}

如果我这样做

curl -X DELETE $HOST/$DB/$DOC?rev=$REV

我回来了

  

{“error”:“forbidden”,“reason”:“所有文件必须指定类型”}

即使我这样做也会发生

rev=$REV&type=type

或者如果我这样做

-d'{"type":"type"}'

with curl

如何绕过验证以删除文件?

1 个答案:

答案 0 :(得分:2)

CouchDB内部只知道读取和更新。更新可以包括创建文档,编辑文档或删除文档。任何类型都无法规避更新。要解决此问题,请使用if(!newDoc.type || doc._deleted) {