MongoDB类别和子类别设计模型

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

大家好,我在MongoDB上遇到问题,我不知道如何设计数据库来支持类别和子类别...

因此,我正在尝试创建具有2个模型的测验应用程序:

问题模型

  • 我将包含问题

类别模型

  • 它包含问题所在的类别

这是我要完成的工作,我想构建测验应用程序,测验应用程序将具有3个主要类别:A类别,B类别和C类别...

注意:每个类别最多只能有20个子类别

并且每个类别都将具有自己的子类别,如下所示:“ A类别”将包含Test1,Test2,Test3,Test4,Test5 ...与“ B类别”相同,它将包含Test1,Test2,Test3,Test4。 ...

注意:我将不超过3个主要类别

并且此Test1,Test2子类别中的每个子类别都将包含问题列表

所以我基于这样的模型:

类别模型:

export const CategorySchema = new mongoose.Schema({
  parent: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Category"
  },
  name: { type:String, required:true },
  slug: String,
});

问题模型:

export const QuestionSchema = new mongoose.Schema({
  question: { type:String, required:true },
  options: [String],
  answers: Array,
  category: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Category"
  }
});

还有一个补充,就是我希望问题可以成为不同子类别的一部分,就像它可以成为[A类别>测试1,B类别>测试2,A类别>测试3,,所以我可以在不同的子类别之间重用它

我的问题是:这是设计数据库的正确方法吗?还是有其他方法

mongodb mongoose aggregation-framework data-modeling
1个回答
0
投票

我使用的参考是Category

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