Plugin

Mongoose 🟡 Mid

Definition

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.

#sgbd#interview#database#mongoose