我正在考虑创建 B2C 移动应用程序和 B2B 仪表板应用程序。因此,有涉及移动应用程序的管理员/用户和涉及仪表板应用程序的管理员/客户。我应该为按角色分隔的用户使用相同的数据库和集合,还是为仪表板和移动设备使用不同的数据库?
1。) 身份验证数据库/所有用户都进行相同的身份验证 用户
客户
2.) 管理数据库 用户
应用程序数据库 用户
为此如何设计数据库?对此的最佳做法是什么?
与一般的RDB不同,MongoDB即使每个文档具有不同的属性也不存在问题。所以为了认证方便,把admin、client、user放在同一个用户集合中是没有问题的。
但是,在我看来,对于一般用户和管理员/客户端来说,从同一个登录窗口登录并不是一个好的UI,因此最好将用户和管理员/客户端分开保存。