Gebruik een index met de {unique:true}
optie.
// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});
U kunt dit ook over meerdere velden doen. Zie deze sectie in de documenten voor meer details en voorbeelden.
Een unieke index zorgt ervoor dat de geïndexeerde velden geen dubbele waarden opslaan; d.w.z. dwingt uniciteit af voor de geïndexeerde velden. Standaard maakt MongoDB een unieke index op het _id-veld tijdens het aanmaken van een collectie.
Als je null
. wenst waarden die van de unieke sleutel worden genegeerd, moet u de index ook schaars maken (zie hier ), door ook de sparse
. toe te voegen optie:
// everyone's username must be unique,
//but there can be multiple users with no email field or a null email:
db.users.createIndex({email:1},{unique:true, sparse:true});
Als u de index wilt maken met behulp van de MongoDB Java Driver. Probeer:
Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));