Discriminators

Mongoose 🔴 Senior

Definition

Mecanisme d'heritage de schema qui permet de stocker des documents de types differents dans une meme collection, avec un champ discriminateur (__t) pour differencier les types.

Analogie

Un parking multi-vehicules : voitures, motos et camions partagent le meme espace mais ont des regles differentes.

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

Modeliser un systeme d'evenements (analytics) ou des entites polymorphiques dans une seule collection.

Termes lies

#sgbd#interview#database#mongoose