sql >> Databasteknik >  >> NoSQL >> MongoDB

Referenser vs inbäddningar i MongoDB

Du kan definiera ett index i e-postunderfältet med { unikt:sant } inställt. Detta förhindrar att flera kopior av e-postadressen lagras i samlingen.

Låt oss till exempel säga att dina dokument ser ut ungefär så här:

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

Du kan definiera ett unikt index i fältet email.address så här:

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

Nu får du ett felmeddelande om du försöker infoga samma e-postadress två gånger. Det kommer också att hjälpa dig att optimera leta upp användare genom deras e-postadress, vilket kommer att vara användbart i din app någon gång.




  1. array med unika värden över alla dokument i en samling

  2. MongoDB $acos

  3. Redis-servern kan inte köra mer än 1024M maxheap

  4. TypeError:Kan inte använda operatorn 'in' för att söka efter '_id' i [{}]