為學校開發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,
}
uj5u.com熱心網友回復:
為了讓資料庫對school course_name組合強制唯一性,兩個欄位都需要在同一個集合中。
最簡單的方法是在課程模式中包含學校名稱或 _id。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/371859.html
