【发布时间】:2020-01-28 14:05:17
【问题描述】:
我正在学习 MongoDB,并试图了解不使用关系数据库模式的概念。
对于我的应用程序,我希望能够添加新用户和项目并按角色将用户分配给项目,例如“经理”、“开发人员”等。用户应该能够查看有关他们拥有角色的项目的详细信息。检索有关项目的详细信息应包括在该项目中也具有角色的用户列表。
假设我通过 POST 添加一个新用户到/users。我可以通过 POST 向/projects 添加一个新项目。
然后我想给用户一个项目中的角色。我可以使用角色(包括角色名称和项目 ID)对 /users/{id} 执行 PUT,但随后通过 GET /projects/{id} 检索项目的详细信息不会包括该项目中具有角色的用户列表。
我本可以将角色发布到 /project/{id}(包括角色名称和用户 ID),但是 GET /users/{id} 不会包含他们的角色,我可能想在他们的角色上显示用户参与的角色登陆页面。
要创建一个新角色,我真的必须将其 PUT 到 /users/{id},然后使用角色和用户再 PUT 到 /projects/{id}?
上述可以在关系数据库中通过简单地创建一个角色表来实现,该表可能包括角色名称、用户 ID 和项目 ID。然后我可以执行连接并访问我需要的任何信息。
我在这里遗漏了什么吗?任何提示或有用的参考资料将不胜感激。
【问题讨论】:
-
什么是您的 1 个明确的具体研究问题,即第一个坚持什么目标?
标签: sql mongodb nosql relational-database