MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Références vs intégrations dans MongoDB

Vous pouvez définir un index sur le sous-champ email avec { unique:true } défini. Cela empêchera plusieurs copies de l'adresse e-mail d'être stockées dans la collection.

Par exemple, supposons que vos documents ressemblent à ceci :

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

Vous pouvez définir un index unique sur le champ email.address comme ceci :

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

Maintenant, vous obtiendrez une erreur si vous essayez d'insérer deux fois la même adresse e-mail. Cela vous aidera également à optimiser la recherche d'utilisateurs par leur adresse e-mail, ce qui sera forcément utile dans votre application à un moment ou à un autre.