代码之家  ›  专栏  ›  技术社区  ›  Johan Rin

应用程序和用户MongoDB之间的一对一

  •  1
  • Johan Rin  · 技术社区  · 6 年前

    我想在MongoDB中设计以下流程:

    • 申请人可以提交申请
    • 如果管理员接受此应用程序,则可以成为特殊用户(与普通用户相比,该用户具有扩展字段)

    因为应用程序可以被管理员拒绝,并且所有进程都有两个不同的步骤,所以我认为应该在应用程序和用户之间使用引用,而不是嵌入它们。

    设计这个过程有什么建议吗? 谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jack T.Todua    6 年前

    从尽可能简单的开始,您可以拥有这样的基本用户对象。

    {
      "type": "user",
      "userInfo" : {}, // Name, email, date created,  etc
      "role": "pending",
    }
    

    然后管理员可以将用户角色更新为 member , poweruser 等。

    然后,您可以拥有一个单独的数据库,其中包含类似这样的权限列表。

    [
      {
        "role": "pending",
        "permissions": []
      },
      {
        "role": "member",
        "permissions": [ // a few permissions ]
      },
      {
        "role": "poweruser",
        "permissions": [ // More permissions ]
      },
    ]
    

    这将允许您拥有每个用户的权限查阅表。另外还有一个好处,即您可以在一个数据库中更新所有用户的权限。