Discriminators

Mongoose 🔴 Senior

Dé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.

#sgbd#interview#database#mongoose

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre