首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为不同用户设计模式模型

如何为不同用户设计模式模型
EN

Stack Overflow用户
提问于 2020-09-18 10:14:23
回答 1查看 268关注 0票数 0

我是mongodb的新手,我正在从事我的个人项目,这是一个针对大学项目的项目管理系统。我有3个用户管理员(部门),学生和顾问。管理员是注册学生和顾问的人。所有的用户都有一些常见的字段,如姓名、电子邮件和密码。不同的领域都有。

他们的角色:-

代码语言:javascript
运行
复制
- Admin -> adds the students and advisors
- Student -> choose projects and work on the projects in a team
- Advisor -> advice students based on their progress on their project

  • 我的问题是在设计模型时,我应该使用一个userSchema并在一个集合中添加所有用户,或者为每个用户创建不同的集合。

  • 我的第二个困惑是,如果我为每个用户创建不同的集合,我如何处理身份验证和授权?我使用节点js作为后端.

我能得到一些指导和建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-09-18 10:28:53

这是你的选择。在这里,我建议对所有3种类型的用户使用一个集合。由于每个人在注册时都有相同的功能,如姓名、电子邮件、密码等,所以单模式是可以肯定的。

因此,在假设'User‘的模式上创建,然后使用一个’标记‘选择器来标识管理员、顾问和学生。

我会这样做:

代码语言:javascript
运行
复制
var userSchema = new mongoose.Schema({
  email: {
    type: String,
    unique: true,
    required: true,
  },
  name: {
    type: String,
    required: true,
  },
tag : {
type: String
},
    
  Addtasks: [
    {
      topic: String,
      words: Number,
      keywords: String,
      website: String,
      otherdetails: String,
      exampleRadios: String,
      deadline: Date,
      Date: String,
      fileName: String
    },
  ],
});
module.exports = mongoose.model('User', userSchema);

使用此方法,单独创建一个页面作为auth.js进行身份验证,并使用护照模块身份验证在那里编写单个身份验证代码。现在,您可以对所有3个仪表板使用一个身份验证。

对于作为前端的车把,使用它来检查用户是否已登录。

代码语言:javascript
运行
复制
{{if #user}}
<html>
<head>
.
.
.
... 

遵循这一点,你就能做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63953774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档