我正在使用 Mongoose 编写一个应用程序,其中我有不同类型的问题和包含问题的考试。我是新手,我在下面尝试编写的代码可能完全错误,所以让我先解释一下我的目的是什么:当我编辑一个问题时,我希望它在考试中被更改它也存在而不重写所有试题数组。我不知道仅存储问题 ID 是否有效(是吗?)。这是当前代码的样子:
const OneChoiceQuestionSchema = new Schema({
// a lot of stuff
}, {timestamps: true});
const MultipleChoiceQuestionSchema = new Schema({
// more stuff
}, {timestamps: true});
const ExamSchema = new Schema({
// exam stuff
questions: [], // this will contain of the schemas declared aboce
}, {timestamps: true});
我曾尝试在考试中添加问题,然后编辑该问题。显然,考题没有改变,因为他们没有参考。我曾想过创建另一个名为 QuestionSchema
的架构,其中将包含 question: { type: Mixed }
,但如果这是正确的做法,我不会这样做。任何帮助表示赞赏!