MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongodb избягва дублиращи се записи

Използвайте индекс с {unique:true} опция.

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

Можете също да направите това в множество полета. Вижте този раздел в документите за повече подробности и примери.

Уникален индекс гарантира, че индексираните полета не съхраняват дублиращи се стойности; т.е. налага уникалност за индексираните полета. По подразбиране MongoDB създава уникален индекс в полето _id по време на създаването на колекция.

Ако желаете null стойности, които да бъдат игнорирани от уникалния ключ, тогава трябва да направите и индекса рядък (вижте тук ), като добавите и sparse опция:

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

Ако искате да създадете индекса с помощта на MongoDB Java драйвер. Опитайте:

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. Mongoose - Запазване на масив от низове

  2. Можете ли да посочите ключ за $addToSet в Mongo?

  3. Мога ли да определя дали даден низ е MongoDB ObjectID?

  4. Как да настроите FeatureCompatibilityVersion в MongoDB

  5. MongoDB $anyElementTrue