Plugin
Mongoose 🟡 MidDefinition
Fonction reutilisable qui ajoute des fonctionnalites a un schema ou a tous les schemas globalement. Permet d'encapsuler des comportements comme le soft-delete, la pagination ou l'audit.
Analogie
Une extension pour navigateur : tu l'installes une fois et tous tes onglets en beneficient.
Exemple de code
function timestampPlugin(schema) {
schema.add({ createdAt: Date, updatedAt: Date });
schema.pre('save', function() {
this.updatedAt = new Date();
});
}
mongoose.plugin(timestampPlugin);
Cas d'usage
Partager des comportements communs entre plusieurs schemas sans dupliquer le code.