javascript—如果我希望为不同的用户提供特定的工作流管理,我是否必须将其纳入我的数据模型中?

a11xaf1n  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(379)

我对编码还不熟悉,现在遇到了一个让我的大脑在概念上陷入困境的问题。我将尽我最大的努力解释它,并将链接到我的github,但它在这里。。我正在构建的音乐应用程序将有三种不同的用户“分类”或(代码中的“类”):
艺术家
场馆业主
扇子
这样做的目的是,当用户注册时,他们将选择一个角色(类似于bandcamp),然后由该角色确定其功能。
以下是工作流程:
每个人都是“用户”
用户可以a)注册他们的场地,或者b)注册他们的乐队,或者c)注册为粉丝
然后,场馆可以为乐队创建“活动”,但乐队不能创建活动。用户可以浏览场馆和乐队,查看他们主办/举办了哪些活动。球迷可以参加活动。
我可以通过授权找出控件,但我想确保我正确设置了数据模型——这就是我感到困惑的地方。
以我的艺术家模型为例,如果艺术家也是用户,如何将用户合并到我的艺术家模型中?在下面添加“用户id”模式会创建循环引用吗?

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const artistSchema = new Schema({
  name: {
    type: String,
    required: [true, 'Artist must have a name']
  },
  genre: {
    type: String
  },
  email: {
    type: String,
    required: [true, 'Contact email required']
  },
  location: {
    type: String,
    required: [true, 'Hometown (so you can be paired with local venues)']
  },
})

module.exports = mongoose.model('Artist', artistSchema);

如果您需要有关这四种模型的更多上下文,这里有一个指向我的github的链接。非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题