2013-01-11 21 views
6

में कई मानों का उपयोग करने वाले अद्वितीय दस्तावेज़ मेरे पास एक विशेष मामला है जहां हमारे संग्रह को यह सुनिश्चित करने की आवश्यकता है कि प्रत्येक दस्तावेज़ ईमेल पते के संयोजन और sweepstakes_id के आधार पर अद्वितीय है। मैंने पूरी तरह से देखा है, लेकिन मुझे नहीं पता कि इस प्रकार के सत्यापन को कैसे पूरा किया जाए।मोंगोस स्कीमा

स्कीमा परिभाषा:

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

उत्तर

39

आप लागू कर सकते हैं कि एक अद्वितीय सूचकांक है कि दोनों क्षेत्रों में शामिल हैं का उपयोग कर:

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

मैं वास्तव में क्या देख रहा था। एक जादू की तरह काम किया। धन्यवाद! –

+0

1 के लिए क्या रहता है? –

+2

मुझे यहां जवाब मिला: http://stackoverflow.com/questions/12573753/creating-multifield-indexes-in-mongoose-mongodb –

संबंधित मुद्दे