LMS 中单个学生的 Next.js/Mongodb 分配状态

Posted

技术标签:

【中文标题】LMS 中单个学生的 Next.js/Mongodb 分配状态【英文标题】:Next.js/Mongodb Assignment Status for Individual Student in a LMS 【发布时间】:2022-01-21 07:24:45 【问题描述】:

我正在构建一个 MERN(使用 Next.js)堆栈学习管理系统。目前,我已经为列出该课程作业的作业构建了前端。例如,如果我已登录,如果我转到 test.com/courses/PHIL204/Assignments,我将看到我的 PHIL 204 课程的所有作业。现在,在此表中,有一列显示“状态”,它表明作业是否已开始、已提交或已评分(只有 3 个值)。我的问题是,我如何存储/计算这个值?我的数据库中有学生和作业作为两个集合(在许多集合中)。我的数据库仍在开发中,因此我可以轻松遵循您的建议。我不认为 Assignments col 应该有一个“status”字段,因为这对于所有有该作业的学生来说都是一样的。如果您需要我的任何代码,我可以提供。如果学生已开始、提交或(由教授)评分(由教授)该作业,我主要寻求关于存储内容/如何存储的逻辑的帮助。

任何帮助将不胜感激。非常感谢。

【问题讨论】:

【参考方案1】:

实际上,GitHub Copilot 建议我在学生模式中我有这样的东西:

const studentSchema = mongoose.Schema(
    studentFirstName : type : String, required: true,
    studentLastName : type : String, required: true,
    studentEmail : type : String, required: true,
    studentClass : type : String,
    studentAssignments : [
        assignmentId : type : Schema.ObjectId, ref: 'Assignments',
        assignmentGrade : type : String, enum : ["A","A-","B+","B","B-","C+","C","C-","D+","D","D-","F"],
        assignmentStatus : type : String, enum : ["Not Started", "Started", "Submitted", "Returned"],
        assignmentRemarks : type : String,
        assignmentCompeletedDate : type : Date,
    ],
    studentTestQuizzes : [
        testQuizId : type : Schema.ObjectId, ref: 'TestQuizzes',
        testQuizGrade : type : String, enum : ["A","A-","B+","B","B-","C+","C","C-","D+","D","D-","F"],
        testQuizStatus : type : String, enum : ["Not Started", "Submitted", "Returned"],
        testQuizRemarks : type : String,
        testQuizCompletedDate : type : Date,
    ],
    studentAnnouncements : [
        announcementId : type : Schema.ObjectId, ref: 'Announcements',
        announcementStatus : type : String, enum : ["Read", "Not Read"],
    ],
    // we need a courseId to link the student to a course

,  collection: 'Students' );

这应该可行。如果它不起作用或者我需要做更多的工作,我会更新这个线程。

【讨论】:

以上是关于LMS 中单个学生的 Next.js/Mongodb 分配状态的主要内容,如果未能解决你的问题,请参考以下文章

α-LMS算法挫折问题

星型模式设计:当源系统多对一(N:1)时,使用 2 维还是 1 一致维?

优化算法改进定步长与变步长LMS算法含Matlab源码 629期

机器学习笔记 1 LMS和梯度下降(批梯度下降) 20170617

oracle utl_lms 带变量的整数替换

LMS MBSE