parent
e8a0fc873c
commit
89fc676550
@ -0,0 +1,49 @@
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const answerSchema = new mongoose.Schema({
|
||||
questionId: {
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
required: true
|
||||
},
|
||||
userAnswer: mongoose.Schema.Types.Mixed,
|
||||
isCorrect: {
|
||||
type: Boolean,
|
||||
required: true
|
||||
},
|
||||
score: {
|
||||
type: Number,
|
||||
required: true
|
||||
}
|
||||
});
|
||||
|
||||
const resultSchema = new mongoose.Schema({
|
||||
exam: {
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
ref: 'Exam',
|
||||
required: true
|
||||
},
|
||||
user: {
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
ref: 'User',
|
||||
required: true
|
||||
},
|
||||
answers: [answerSchema],
|
||||
totalScore: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
maxScore: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
timeTaken: { // 用时(秒)
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
submittedAt: {
|
||||
type: Date,
|
||||
default: Date.now
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = mongoose.model('Result', resultSchema);
|
Loading…
Reference in new issue