2013-01-11 17 views
6

Koleksiyonumuzu, her belgenin e-posta adresi ve sweepstakes_id birleşimine göre benzersiz olduğundan emin olması gereken özel bir durumum var. Her yere baktım, ancak bu tür bir doğrulamayı nasıl gerçekleştireceğimi bulamıyorum.Mongoose Schema'da birden çok değer kullanan benzersiz belgeler

şema tanımlama:

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

cevap

39

Sen zorlamak anlamına iki alanı da içeren eşsiz dizini kullanarak: Ne arıyordu Tam olarak ne

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

. Bir çekicilik gibi çalıştı. Teşekkür ederim! –

+0

1 ne için kalıyor? –

+2

Burada cevabı buldum: http://stackoverflow.com/questions/12573753/creating-multifield-indexes-in-mongoose-mongodb –