Använd ett index med {unique:true}
alternativ.
// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});
Du kan också göra detta över flera fält. Se det här avsnittet i dokumenten för mer information och exempel.
Ett unikt index säkerställer att de indexerade fälten inte lagrar dubbletter av värden; d.v.s. tvingar fram unikhet för de indexerade fälten. Som standard skapar MongoDB ett unikt index på _id-fältet under skapandet av en samling.
Om du vill ha null
värden som ska ignoreras från den unika nyckeln, då måste du också göra indexet sparsamt (se här ), genom att även lägga till sparse
alternativ:
// 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});
Om du vill skapa indexet med MongoDB Java Driver. Försök:
Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));