Discriminators
Mongoose 🔴 SeniorDéfinition
Mécanisme d'héritage de schema qui permet de stocker des documents de types différents dans une même collection, avec un champ discriminateur (__t) pour différencier les types. Les discriminators peuvent aussi s'appliquer a un tableau de sous-documents embarque (embedded discriminators) plutôt qu'a une collection racine entière.
Analogie
Un parking multi-véhicules : voitures, motos et camions partagent le même espace mais ont des règles différentes.
Exemple de code
const Event = mongoose.model('Event', eventSchema);
const Click = Event.discriminator('Click',
new Schema({ url: String })
);
const Purchase = Event.discriminator('Purchase',
new Schema({ amount: Number })
);
Cas d'usage
Modéliser un système d'evenements (analytics) ou des entités polymorphiques dans une seule collection.
Termes liés
Fiche mise à jour le 2026-09-27