如何为User设计schema?蒙古数据库

问题描述 投票:0回答:1

我正在考虑创建 B2C 移动应用程序和 B2B 仪表板应用程序。因此,有涉及移动应用程序的管理员/用户和涉及仪表板应用程序的管理员/客户。我应该为按角色分隔的用户使用相同的数据库和集合,还是为仪表板和移动设备使用不同的数据库?

1。) 身份验证数据库/所有用户都进行相同的身份验证 用户

  • 用户名
  • 电话
  • 密码
  • 电子邮件
  • 角色(管理员、客户、用户)

客户

  • 用户ID
  • api密钥

2.) 管理数据库 用户

  • 用户名
  • 电话
  • 密码
  • 电子邮件
  • 角色(管理员、客户端)
  • api密钥

应用程序数据库 用户

  • 用户名
  • 电话
  • 密码
  • 电子邮件
  • 角色(用户)

为此如何设计数据库?对此的最佳做法是什么?

node.js database mongodb express mongoose-schema
1个回答
0
投票

与一般的RDB不同,MongoDB即使每个文档具有不同的属性也不存在问题。所以为了认证方便,把admin、client、user放在同一个用户集合中是没有问题的。

但是,在我看来,对于一般用户和管理员/客户端来说,从同一个登录窗口登录并不是一个好的UI,因此最好将用户和管理员/客户端分开保存。

© www.soinside.com 2019 - 2024. All rights reserved.