2013-01-11 13 views
6

Mam specjalny przypadek, w którym nasza kolekcja musi upewnić się, że każdy dokument jest unikalny w oparciu o kombinację adresu e-mail i loterii. Sprawdziłem wszystko, ale nie mogę znaleźć sposobu na sprawdzenie tego typu.Unikalne dokumenty z wieloma wartościami w schemacie Mongoose

definicja schematu:

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

Odpowiedz

39

można wymusić za pomocą unikalnego indeksu, który zawiera oba pola:

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

Dokładnie to, czego szukałem. Pracował jak urok. Dziękuję Ci! –

+0

Do czego służy 1? –

+2

Znalazłem odpowiedź tutaj: http://stackoverflow.com/questions/12573753/creating-multifield-indexes-in-mongoose-mongodb –

Powiązane problemy