MongoDB N:M关系

时间:2015-05-25 10:59:13

标签: mongodb

我正在尝试为MongoDB中存储的文档实现一种访问控制列表。我有用户和项目,并且用户对项目拥有不同的权利,例如读,写,删除......如何在MongoDB中最好地存储这个n:m关系?

我提出了以下想法:

  1. ACL文档:{itemID:"1", userID:"2", right:"write"}
  2. 每个项目的ACL:{itemID:"1", users {"2" : "write", "3" : "read"}}
  3. 用户中的嵌入式ACL:{_id:"1",..., users {"2" : "write", "3" : "read"}}
  4. 项目中的嵌入式ACL:{_id:"1",..., users {"2" : "write", "3" : "read"}}
  5. 方法1& 2有明显的缺点,我必须自己查询mongo并自行连接表单ACL。在解决方案3的大多数情况下也是如此,所以对我来说,方法4似乎是最好的,但我很乐意听到一些意见!

    干杯,

    克劳斯

0 个答案:

没有答案