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

Referencer vs indlejring i MongoDB

Du kan definere et indeks i e-mail-underfeltet med { unik:sand } indstillet. Dette forhindrer, at flere kopier af e-mailadressen gemmes i samlingen.

Lad os f.eks. sige, at dine dokumenter ser sådan ud:

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

Du kan definere et unikt indeks i feltet email.address som dette:

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

Nu vil du få en fejlmeddelelse, hvis du forsøger at indsætte den samme e-mailadresse to gange. Det vil også hjælpe dig med at optimere at søge efter brugere ud fra deres e-mailadresse, hvilket helt sikkert vil være nyttigt i din app på et eller andet tidspunkt.




  1. Hvordan fjerner jeg dokumenter ved hjælp af Node.js Mongoose?

  2. Forespørgsel på resultat fra mongoose ved hjælp af dynamisk model.find

  3. Hvordan henter man et undersæt af felter ved hjælp af C# MongoDB-driveren?

  4. ScaleGrid-hosting til Redis™ på din egen AWS-konto