MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Mongodb unika zduplikowanych wpisów

Użyj indeksu z {unique:true} opcja.

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

Możesz to zrobić również w wielu polach. Zobacz tę sekcję w dokumentacji, aby uzyskać więcej szczegółów i przykładów.

Unikalny indeks zapewnia, że ​​indeksowane pola nie przechowują zduplikowanych wartości; czyli wymusza unikalność indeksowanych pól. Domyślnie MongoDB tworzy unikalny indeks w polu _id podczas tworzenia kolekcji.

Jeśli chcesz null wartości, które mają być zignorowane z unikalnego klucza, musisz również rozrzedzić indeks (zobacz tutaj ), dodając także sparse opcja:

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

Jeśli chcesz utworzyć indeks za pomocą sterownika Java MongoDB. Wypróbuj:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 10 wskazówek, jak poprawić bezpieczeństwo MongoDB

  2. Utwórz klaster baz danych w chmurze za pomocą MongoDB Atlas

  3. mongod HostnameCanonicalizationWorker błąd w systemie OS X

  4. Wprowadzanie MongoDB do produkcji

  5. Najpopularniejsze bazy danych NoSQL obsługiwane przez ClusterControl