Middleware (Pre/Post Hooks)

Mongoose 🟡 Mid

Dé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.

Termes liés

#sgbd#interview#database#mongoose

← → au clavier pour passer d'une fiche à l'autre