Espero que esta pregunta te encuentre bien. Tengo dos modelos, el primer modelo de Facultad es el siguiente:
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", }, ], } );y aquí Modelo de programa
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, } );Quiero agregar un middleware para que cuando actualice un programa eliminando o agregando un elemento en la matriz de facultades, se eliminará o agregará automáticamente en el campo de programas de acuerdo con el id_facultad eliminado. y viceversa, si una facultad se actualiza eliminando o agregando un elemento en el campo de programas, la facultad debe agregarse o eliminarse en consecuencia en el campo de facultades en el programa relacionado. Conozco el middleware previo y posterior, pero no sé cómo hacer esta actualización específica en cascada. Por favor, ayúdenme, esto es muy importante para mí. Muchas gracias.