大家好,我在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,,所以我可以在不同的子类别之间重用它
我的问题是:这是设计数据库的正确方法吗?还是有其他方法
我使用的参考是Category