sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongodb evita entradas duplicadas

Usa un índice con el {unique:true} opción.

// everyone's username must be unique:
db.users.createIndex({email:1},{unique:true});

También puede hacer esto en varios campos. Ver esta sección en los documentos para obtener más detalles y ejemplos.

Un índice único garantiza que los campos indexados no almacenen valores duplicados; es decir, impone la singularidad de los campos indexados. De forma predeterminada, MongoDB crea un índice único en el campo _id durante la creación de una colección.

Si desea null valores que se ignorarán de la clave única, también debe hacer que el índice sea disperso (ver aquí ), agregando también sparse opción:

// 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});

Si desea crear el índice utilizando el controlador Java de MongoDB. Prueba:

Document keys = new Document("email", 1);
collection.createIndex(keys, new IndexOptions().unique(true));