我希望这个问题能找到你。我有两个模型,第一个教师模型如下:
const facultySchema = new mongoose.Schema(
{
_id: mongoose.Schema.Types.ObjectId,
name: {
type: String,
required: [true, "le nom de la faculté est obligatoire"],
},
code_name: {
type: String,
required: [true, "l‘abréviation est obligatoire"],
},
programs: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Program",
},
],
}
);
和这里程序模型
const programSchema = new mongoose.Schema(
{
_id: mongoose.Schema.Types.ObjectId,
name: {
type: String,
required: [true, "le nom est obligatoire"!],
},
faculties: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Faculty",
},
],
},
{
timestamps: true,
}
);
我想添加一个中间件,这样当我通过删除或添加faculties数组中的元素来更新程序时,它将根据删除的faculty_id自动删除或添加到programs字段中。反之亦然,如果通过删除或添加程序字段中的元素来更新学院,则应在相关程序的学院字段中相应地添加或删除学院。我知道前置和后置中间件,但我不知道如何进行这个特定的更新级联,请帮助我,这对我来说真的很重要。太感谢了。