0

我希望这个问题能找到你。我有两个模型,第一个教师模型如下:

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字段中。反之亦然,如果通过删除或添加程序字段中的元素来更新学院,则应在相关程序的学院字段中相应地添加或删除学院。我知道前置和后置中间件,但我不知道如何进行这个特定的更新级联,请帮助我,这对我来说真的很重要。太感谢了。

4

0 回答 0