U kunt een index definiëren in het e-mailsubveld met { unique:true } set. Hiermee wordt voorkomen dat meerdere exemplaren van het e-mailadres in de collectie worden opgeslagen.
Laten we bijvoorbeeld zeggen dat uw documenten er ongeveer zo uitzien:
db.users.findOne() =>
{
"name" : "xxxx",
"emails" : [
{ address: "[email protected]", validated: false },
{ address: "[email protected]", validated: true }
]
}
U kunt als volgt een unieke index definiëren in het veld email.address:
db.users.ensureIndex(['emails.address',1], {unique: true})
Nu krijg je een foutmelding als je twee keer hetzelfde e-mailadres probeert in te voeren. Het helpt u ook om gebruikers te optimaliseren op basis van hun e-mailadres, wat op een of ander moment zeker nuttig zal zijn in uw app.