MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Riferimenti e incorporamenti in MongoDB

È possibile definire un indice nel sottocampo dell'e-mail con { unique:true } impostato. Ciò impedirà la memorizzazione di più copie dell'indirizzo e-mail nella raccolta.

Ad esempio, supponiamo che i tuoi documenti assomiglino a questo:

db.users.findOne() => 
{ 
  "name" : "xxxx", 
  "emails" : [ 
     { address: "[email protected]", validated: false },
     { address: "[email protected]", validated: true }
  ]
}

Puoi definire un indice univoco nel campo email.address in questo modo:

db.users.ensureIndex(['emails.address',1], {unique: true})

Ora riceverai un errore se provi a inserire lo stesso indirizzo email due volte. Ti aiuterà anche a ottimizzare la ricerca degli utenti in base al loro indirizzo e-mail, che prima o poi sarà utile nella tua app.