我想编写一个validate_doc_update
函数,如下所示:
function(newDoc, oldDoc, userCtx) {
var db = userCtx.db;
var docId = newDoc._id;
if (db === '<dbName>' && docId.indexOf('_design') >= 0) {
throw ({ forbidden: 'Design docs should be edited in the template DB '});
};
};
因为我从模板DB复制到内容数据库。这允许我在更容易开发时重置(即只是从内容DB中删除)。我和我合作的人在删除之前经常忘记内容数据库中的_design docs。我想禁止在内容数据库中创建视图。
但上述内容并未阻止管理员创建或编辑_design文档。我想这是有道理的,因为你可以很容易地将自己锁定在DB之外......
我怎样才能做到这一点?