sql >> Base de Datos >  >> NoSQL >> MongoDB

Referencias vs incrustaciones en MongoDB

Puede definir un índice en el subcampo de correo electrónico con el conjunto {único:verdadero}. Esto evitará que se almacenen varias copias de la dirección de correo electrónico en la colección.

Por ejemplo, supongamos que sus documentos se ven así:

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

Puede definir un índice único en el campo email.address como este:

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

Ahora obtendrá un error si intenta insertar la misma dirección de correo electrónico dos veces. También lo ayudará a optimizar la búsqueda de usuarios por su dirección de correo electrónico, lo que seguramente será útil en su aplicación en algún momento u otro.