多用户应用程序的Mongoose模式

跳跃

我需要为多用户应用程序创建架构,而我需要使用MongoDB,Express,AngularJS和NodeJS进行开发。我有4种类型的用户在该应用程序,GUESTREGISTERED_USERSUBSCRIBERADMIN一旦用户注册了应用程序,我就需要根据特定用户的角色来显示表单和信息。

有人可以给我一些关于如何为用户的不同角色处理模式的想法,因为我以后可以将其用于角色和访问级别功能吗?

例如,以下registeredUserSchema是常见的REGISTERED_USERSUBSCRIBERADMIN用户:

var registeredUserSchema = mongoose.Schema({
    userId: String,
    fullName: String ,
    email: String,
    password: String,
    created: { type: Date, default: Date.now },
    roles: [String]
});

但是,然后我需要从具有SUBSCRIBER角色的用户那里询问很多信息,因此,一旦他注册了该应用程序,我想显示比用户更多的额外信息,以显示他要填写的辅助信息。只是REGISTERED_USER

有人可以帮我吗?

编辑:更多解释

例如,aREGISTERED_USER将具有userId,但具有SUBSCRIBER角色的用户将具有subscriberId因此,我需要决定如何构造该数据,因为存在所有用户都通用的数据,然后每个用户根据其角色都有不同的数据。我需要有关选择结构数据的策略方面的帮助。例如,在Java Persistence API中,我们有各种继承策略来构造关系数据库表中的数据。

Elyas74

我正在为这个部分使用这个集合:

var permissions_schema = new mongoose.Schema({
    name : String,
    title : String
}); // this are mostly static data

var roles_schema = new mongoose.Schema({
    name : String,
    title : String,
    _permissions : Array
});// _permissions is an array that contain permissions _id

var contacts_schema = new mongoose.Schema({
    mobile : String,
    password : String,
    first_name : String,
    last_name : String,
    _role : Number,
    _enabled : Boolean,
    _deleted : Boolean,
    _verify_code : Number,
    _groups_id : Array,
    _service_id : String
}); // and at last _role is _id of the role which this user owns.

借助这些集合,您可以轻松管理用户。我希望这些对您有好主意。

更新:更加灵活的架构可以在联系人对象中包含一个role_id数组,并且联系人可以具有多个角色,并且他/她的权限是所有角色权限的合并。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

多用户许可多用户应用程序

来自分类Dev

在Android多用户应用程序中存储设置

来自分类Dev

Yii多用户登录应用程序

来自分类Dev

多用户中与 Composer 的 Web 应用程序交互

来自分类Dev

Node.js,Socket.io多用户应用程序-存储用户会话?

来自分类Dev

如何使VB.NET应用程序以多用户身份工作?

来自分类Dev

如何为多用户应用程序实现简单的锁定机制?

来自分类Dev

使用SQL Server和C#的多用户记录更新Windows应用程序

来自分类Dev

基于Apache Spark的多用户Web应用程序的最佳实践?

来自分类Dev

如何构建多用户pouchdb / coucdb应用程序和身份验证

来自分类Dev

适用于多用户公共应用程序的ASP.net

来自分类Dev

如何发布应用程序需要很多用户才能成为好人

来自分类Dev

PHP和mySQL-多用户应用程序方法

来自分类Dev

适用于多用户Spring MVC Web应用程序的Spring Security

来自分类Dev

多用户聊天 (MUC) 移动应用程序的最佳方法

来自分类Dev

Teamviewer多用户模式

来自分类Dev

部署到Shinyapps.io的应用程序上的googlesheets的多用户身份验证

来自分类Dev

RVM从混合模式更改为多用户模式

来自分类Dev

是否可以有一个Google云端硬盘帐户,许多用户可以在其中从应用程序上传文件?

来自分类Dev

如何使用webRTC,node.js和socket.io构建多用户视频聊天Web应用程序

来自分类Dev

是否可以有一个Google云端硬盘帐户,许多用户可以在该帐户中从应用程序上传文件?

来自分类Dev

Ubuntu中的多用户文本模式运行级别

来自分类Dev

在多用户应用中提交操作的正确方法

来自分类Dev

多用户Web应用-数据库设计

来自分类Dev

多用户聊天XMPP

来自分类Dev

vim多用户编辑?

来自分类Dev

Firebase 日历(多用户)

来自分类Dev

转换多用户登录

来自分类Dev

fsck似乎在多用户模式和单用户模式之间显示了不同的结果

Related 相关文章

  1. 1

    多用户许可多用户应用程序

  2. 2

    在Android多用户应用程序中存储设置

  3. 3

    Yii多用户登录应用程序

  4. 4

    多用户中与 Composer 的 Web 应用程序交互

  5. 5

    Node.js,Socket.io多用户应用程序-存储用户会话?

  6. 6

    如何使VB.NET应用程序以多用户身份工作?

  7. 7

    如何为多用户应用程序实现简单的锁定机制?

  8. 8

    使用SQL Server和C#的多用户记录更新Windows应用程序

  9. 9

    基于Apache Spark的多用户Web应用程序的最佳实践?

  10. 10

    如何构建多用户pouchdb / coucdb应用程序和身份验证

  11. 11

    适用于多用户公共应用程序的ASP.net

  12. 12

    如何发布应用程序需要很多用户才能成为好人

  13. 13

    PHP和mySQL-多用户应用程序方法

  14. 14

    适用于多用户Spring MVC Web应用程序的Spring Security

  15. 15

    多用户聊天 (MUC) 移动应用程序的最佳方法

  16. 16

    Teamviewer多用户模式

  17. 17

    部署到Shinyapps.io的应用程序上的googlesheets的多用户身份验证

  18. 18

    RVM从混合模式更改为多用户模式

  19. 19

    是否可以有一个Google云端硬盘帐户,许多用户可以在其中从应用程序上传文件?

  20. 20

    如何使用webRTC,node.js和socket.io构建多用户视频聊天Web应用程序

  21. 21

    是否可以有一个Google云端硬盘帐户,许多用户可以在该帐户中从应用程序上传文件?

  22. 22

    Ubuntu中的多用户文本模式运行级别

  23. 23

    在多用户应用中提交操作的正确方法

  24. 24

    多用户Web应用-数据库设计

  25. 25

    多用户聊天XMPP

  26. 26

    vim多用户编辑?

  27. 27

    Firebase 日历(多用户)

  28. 28

    转换多用户登录

  29. 29

    fsck似乎在多用户模式和单用户模式之间显示了不同的结果

热门标签

归档