MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongodb evita entradas duplicadas


Use um índice com o {unique:true} opção.
// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});

Você também pode fazer isso em vários campos. Veja esta seção nos documentos para obter mais detalhes e exemplos.

Um índice exclusivo garante que os campos indexados não armazenem valores duplicados; ou seja, impõe exclusividade para os campos indexados. Por padrão, o MongoDB cria um índice exclusivo no campo _id durante a criação de uma coleção.

Se você deseja null valores a serem ignorados da chave exclusiva, então você também deve tornar o índice esparso (veja aqui ), adicionando também o sparse opção:
// 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});

Se você deseja criar o índice usando o MongoDB Java Driver. Experimentar:
Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));