Document vs Query Middleware
Mongoose 🔴 SeniorDefinition
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 opere 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
Implementer du soft-delete en filtrant automatiquement les documents supprimes sur chaque find.