MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongodb evita voci duplicate

Utilizza un indice con il {unique:true} opzione.

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

Puoi anche farlo su più campi. Vedi questa sezione nei documenti per maggiori dettagli ed esempi.

Un indice univoco garantisce che i campi indicizzati non memorizzino valori duplicati; vale a dire impone l'unicità per i campi indicizzati. Per impostazione predefinita, MongoDB crea un indice univoco sul campo _id durante la creazione di una raccolta.

Se desideri null valori da ignorare dalla chiave univoca, quindi devi anche rendere l'indice sparso (vedi qui ), aggiungendo anche lo sparse opzione:

// 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 si desidera creare l'indice utilizzando il driver Java MongoDB. Prova:

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