【发布时间】:2019-05-23 18:43:12
【问题描述】:
我想制作可以由一个具体用户(创建它的用户)更新/更改的文档。所有用户都可以看到的文档内容,但只有所有者可以更改它。问题是: 如果我有用户名为“TheUser”的用户如何创建自己的名为“TheUserDocument”的文档。只使用 Nodejs、Nano 或其他东西作为数据库没有问题。
【问题讨论】:
标签: node.js couchdb couchdb-nano
我想制作可以由一个具体用户(创建它的用户)更新/更改的文档。所有用户都可以看到的文档内容,但只有所有者可以更改它。问题是: 如果我有用户名为“TheUser”的用户如何创建自己的名为“TheUserDocument”的文档。只使用 Nodejs、Nano 或其他东西作为数据库没有问题。
【问题讨论】:
标签: node.js couchdb couchdb-nano
这可以通过文档更新验证功能来完成。当您最初创建文档时,存储创建它的用户,那么您的更新验证函数可能如下所示:
function(newDoc, oldDoc, userCtx, secObj) {
if ( oldDoc.creator == userCtx.name ){
return;
}
throw({forbidden: 'Permission denied.'});
}
您可以在此处阅读有关验证功能的更多信息:http://docs.couchdb.org/en/latest/ddocs.html#validate-document-update-functions
【讨论】: