Document vs Query Middleware
Mongoose 🔴 SeniorDéfinition
Les Document middlewares (save, validate, remove) ont this = le document. Les Query middlewares (find, update, delete) ont this = la query. Important pour savoir quoi modifier.
Analogie
Document middleware = le chirurgien qui opère directement le patient. Query middleware = le pharmacien qui modifie l'ordonnance.
Exemple de code
// Document: this = document
schema.pre('save', function() {
console.log(this.name);
});
// Query: this = query
schema.pre('find', function() {
this.where({ deleted: false });
});
Cas d'usage
Implémenter du soft-delete en filtrant automatiquement les documents supprimes sur chaque find.