30 votes

Documents uniques utilisant des valeurs multiples dans le schéma Mongoose

J'ai un cas particulier où notre collection doit s'assurer que chaque document est unique en se basant sur une combinaison de l'adresse e-mail et du sweepstakes_id. J'ai cherché partout, mais je ne trouve pas comment accomplir ce type de validation.

Définition du schéma :

var submissionSchema = new Schema({
    client_id: {
        type: Schema.Types.ObjectId,
        ref: 'Client',
        index: true
    },
    sweepstakes_id: {
        type: Schema.Types.ObjectId,
        ref: 'Sweepstakes',
        index: true
    },
    email: {
        type: String,
        index: true
   },
   data: {
        type: Schema.Types.Mixed,
        default: []
   }
});

90voto

JohnnyHK Points 61191

Vous pouvez faire respecter cette règle en utilisant un index unique qui inclut les deux champs :

submissionSchema.index({ email: 1, sweepstakes_id: 1 }, { unique: true });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X