2013-01-11 12 views
6

Ho un caso speciale in cui la nostra raccolta deve assicurarsi che ogni documento sia univoco basato su una combinazione dell'indirizzo email e di sweepstakes_id. Ho guardato dappertutto, ma non riesco a trovare come eseguire questo tipo di convalida.Documenti univoci che utilizzano più valori nello schema di Mongoose

definizione dello schema:

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: [] 
    } 
}); 

risposta

39

Si può applicare che l'utilizzo di un indice univoco che comprende entrambi i campi:

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

Esattamente quello che stavo cercando. Ha funzionato come un fascino. Grazie! –

+0

A cosa serve il 1? –

+2

Ho trovato la risposta qui: http://stackoverflow.com/questions/12573753/creating-multifield-indexes-in-mongoose-mongodb –

Problemi correlati