数据库设计 – 针对多用户的CouchDB建模
发布时间:2020-12-12 07:00:47 所属栏目:MsSql教程 来源:网络整理
导读:我已经对文档数据库感到兴奋,特别是关于CouchDB的简单性.但我很难理解这些数据库是否是多用户系统的可行选择.由于这些系统需要文档数据库不提供的记录之间的某种关系. 这种情况完全是错误的工具吗?或者一些标记和临时视图是实现这一目标的方法?要不然… 更
我已经对文档数据库感到兴奋,特别是关于CouchDB的简单性.但我很难理解这些数据库是否是多用户系统的可行选择.由于这些系统需要文档数据库不提供的记录之间的某种关系.
这种情况完全是错误的工具吗?或者一些标记和临时视图是实现这一目标的方法?要不然… 更新: 解决方法有一段时间讨论了 mailing list,这个问题相当适合这个问题.经验法则是仅将数据存储在可能随着增长而变化的文档中.如果数据更有可能增长,那么您很可能希望存储单独的文档.因此,对于多用户系统,实现基于ACL的权限的一种方法可以是创建“权限文档”,该权限文档将是user_id到doc_id的映射,并且具有指示的适当权限. { _id: "permission_doc_1",type: "acl",user: "John",docid: "John's Account Info",read: true,write: true } 而你的观点也是如此 function(doc) { emit([doc.user,doc.docid],{"read": doc.read,"write": doc.write}); } 并且给定docid和userid,检查权限将是: http://localhost:5984/db/_view/permissions/all?key=["John","John's Account Info"] 显然,这需要在客户端和沙发之间设置一些中介,以确保强制执行权限. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |