Použijte index s {unique:true}
možnost.
// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});
Můžete to také provést ve více polích. Viz tuto sekci Další podrobnosti a příklady naleznete v dokumentaci.
Jedinečný index zajišťuje, že indexovaná pole neukládají duplicitní hodnoty; tj. vynucuje jedinečnost pro indexovaná pole. Ve výchozím nastavení vytváří MongoDB během vytváření kolekce jedinečný index v poli _id.
Pokud si přejete null
hodnoty, které mají být z jedinečného klíče ignorovány, pak musíte také index zřítit (viz zde ), přidáním sparse
možnost:
// 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});
Pokud chcete vytvořit index pomocí ovladače MongoDB Java Driver. Zkuste:
Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));