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

dlaczego DuplicateKeyError:E11000 zduplikowany indeks błędu klucza:test.test.$notification_1 dup key:{ :null }

Prawdopodobnie masz już dokument w swojej kolekcji, który ma notification: NULL lub dokument, który nie ma ustawionego pola powiadomienia. Jeśli pole nie jest ustawione, jest traktowane jako puste. Ponieważ unikalny indeks dopuszcza tylko jedną wartość na pole, nie można mieć dwóch dokumentów, które nie mają ustawionego pola. Możesz to obejść, używając także sparse opcja podczas tworzenia indeksu. Coś takiego powinno działać (po upuszczeniu już istniejącego indeksu na notification :

self.db_database[co_name].ensure_index(('notification'),unique=True,sparse=True)

Zobacz też:rzadkie indeksy i wartości null w mongo




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MONGODB [DEBUG] cursor.refresh() dla kursora 7078636577051629992

  2. Mongodb zwraca starą kolekcję

  3. Stosowanie warunku do wielu dokumentów dla tego samego pola w MongoDB

  4. Dlaczego potrzebujemy, jakie zalety stosować mangusty

  5. MongoDB $reverseArray