Middleware (Pre/Post Hooks)
Mongoose 🟡 MidDéfinition
Fonctions exécutées avant (pre) ou après (post) certaines opérations comme save, validate, remove ou find. Permettent d'injecter de la logique transversale.
Analogie
Les contrôles de sécurité a l'aéroport (pre) et le tapis a bagages (post) : ils s'exécutent 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 opérations ou mettre a jour des timestamps.
Anti-pattern
Oublier d'appeler next() dans un middleware pre, bloquant toute la chaîne d'exécution.