Pre Save Hook
Mongoose 🟡 MidDéfinition
Middleware exécuté avant chaque appel a document.save(). Permet de modifier le document (hashing, timestamps, validation custom) avant sa persistence en base.
Analogie
Le dernier contrôle qualité sur la chaîne de montage avant de mettre le produit en boite.
Exemple de code
schema.pre('save', function(next) {
if (!this.slug) {
this.slug = this.title
.toLowerCase()
.replace(/\s+/g, '-');
}
next();
});
Cas d'usage
Générer automatiquement un slug, un hash de mot de passe ou un timestamp a chaque sauvegarde.
Anti-pattern
Modifier this dans un pre save avec une arrow function, qui ne lie pas le bon this.