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

MongoDB Unique Index na elemencie tablicy w dokumentach (nie w zagnieżdżonych dokumentach)

Aby to zrobić, musisz zmienić kilka rzeczy.

Po pierwsze, Twój schemat musi być index tak:

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

A w opcji połączeń dodaj useCreateIndex: true . Na przykład mam:

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

await mongoose.connect(uri, mongooseOpts);

Następnie, gdy spróbujesz dodać zduplikowany numer telefonu, zostanie zgłoszony błąd.

Te dwa kroki, jeśli również nie zadziałały, spróbuj usunąć collection i ponownie tworzyć.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose - dostęp do zagnieżdżonego obiektu z .populate

  2. mongo count wierszy z tablicy dostarczonych danych

  3. Jak skrócić liczbę do 3 miejsc po przecinku

  4. Czy mogę określić, czy ciąg jest identyfikatorem obiektu MongoDB?

  5. Czy AWS DocumentDB obsługuje łączenie 3+ kolekcji w jednym zapytaniu?