Middleware (Pre/Post Hooks)
Mongoose 🟡 MidDefinition
Fonctions executees avant (pre) ou apres (post) certaines operations comme save, validate, remove ou find. Permettent d'injecter de la logique transversale.
Analogie
Les controles de securite a l'aeroport (pre) et le tapis a bagages (post) : ils s'executent automatiquement autour de ton vol.
Exemple de code
userSchema.pre('save', async function() {
if (this.isModified('password')) {
this.password = await bcrypt.hash(
this.password, 10
);
}
});
Cas d'usage
Hasher les mots de passe avant sauvegarde, logger les operations ou mettre a jour des timestamps.
Anti-pattern
Oublier d'appeler next() dans un middleware pre, bloquant toute la chaine d'execution.