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

MongoDB уникален индекс на елемент от масив в документи (не във вложен документ)

За да направите това, трябва да промените няколко неща.

На първо място, вашата схема трябва да бъде index като това:

number: {
  type: String,
  index: true, // <-- This line
  unique: true
}

И във вашата опция за връзки добавете useCreateIndex: true . Например имам:

const mongooseOpts = {
    useNewUrlParser: true,
    useFindAndModify: false,
    useUnifiedTopology: true,
    useCreateIndex: true //<-- This line
};

await mongoose.connect(uri, mongooseOpts);

След това, когато се опитате да добавите телефон с дублиращ се номер, ще бъде изведена грешка.

Ако и с тези две стъпки не работите, опитайте да премахнете collection и създаване отново.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Инсталирането на Laravel Homestead Mongo причинява PHP грешка недефиниран символ:php_json_serializable_ce в Unknown на ред 0

  2. Изтичане на Монго връзка с морфий

  3. Как да проследявате MongoDB заявки от конзолно приложение

  4. MongoDB и Mongoid в производство

  5. Spring Data REST:персонализирана заявка за MongoDB хранилище