【发布时间】:2022-01-05 14:11:02
【问题描述】:
为学校开发 ERP 系统。所以我有 SCHOOL Schema,在里面我引用了 COURSE Schema。我想做的是在 COURSE 模式中设置一些独特的字段,例如特定学校内的课程名称。但是,如果我在架构本身中将字段标记为唯一,则会导致问题。
一所学校可以开设多门课程,但该特定学校的课程名称应该是唯一的。但是两所不同的学校可以有同名的课程。例如:- 学校 A 有 btech,所以学校 A 不能有其他同名的课程文件,但学校 B 可以有名称为 btech 的课程。
如果我使 course_name 字段在架构本身中唯一,我无法添加已经在其他学校添加的 course_name。
我可以通过获取数据库然后逐一检查 course_name 来实现这一点。但我认为这不是理想的解决方案。
请告诉我一些更好的解决方案
我使用 MONGO DB。
//SCHOOL SCHEMA
const SchoolSchema =
mongoose.Schema({
course: [{ type:
mongoose.Schema.Types.ObjectId,
ref: 'course'
}]
})
//Course Schema
const CourseSchema =
mongoose.Schema({course_name: {
type: String,
}
【问题讨论】:
标签: database mongodb mongoose nosql schema