आप ईमेल उप-फ़ील्ड पर {unique:true} सेट के साथ एक इंडेक्स परिभाषित कर सकते हैं। यह ईमेल पते की एकाधिक प्रतियों को संग्रह में संग्रहीत होने से रोकेगा।
उदाहरण के लिए, मान लें कि आपके दस्तावेज़ कुछ इस तरह दिखते हैं:
db.users.findOne() =>
{
"name" : "xxxx",
"emails" : [
{ address: "example@sqldat.com", validated: false },
{ address: "example@sqldat.com", validated: true }
]
}
आप ईमेल.एड्रेस फ़ील्ड पर इस तरह एक अद्वितीय अनुक्रमणिका परिभाषित कर सकते हैं:
db.users.ensureIndex(['emails.address',1], {unique: true})
अब अगर आप एक ही ईमेल एड्रेस को दो बार डालने की कोशिश करेंगे तो आपको एक एरर मिलेगा। यह आपको उपयोगकर्ताओं को उनके ईमेल पते से देखने को अनुकूलित करने में भी मदद करेगा, जो किसी न किसी बिंदु पर आपके ऐप में उपयोगी होने के लिए बाध्य है।