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

Mongoose - spowodowane przez ::11000 E11000 zduplikowany indeks błędu klucza?

Początkowo miałeś pole o nazwie name w twoim schemacie, który był ustawiony na unique .

Skąd mam wiedzieć? Z powodu błędu mówiącego mi o tym:

duplicate key error index: **iotdb.users.$name_1**

Zmieniłeś nazwę pola na username , ale nie usunięto starego indeksu. Domyślnie MongoDB ustawi wartość nieistniejącego pola na null w takim przypadku.

Odpowiednia dokumentacja tutaj:

Jeśli dokument nie ma wartości dla indeksowanego pola w unikalnym indeksie, indeks będzie przechowywać wartość null dla tego dokumentu. Ze względu na unikatowe ograniczenie MongoDB zezwoli tylko na jeden dokument, który nie ma indeksowanego pola.

Aby rozwiązać ten problem, musisz usunąć indeks dla zmienionej nazwy name pole.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Tutorial:Łączenie się z MongoDB w Scala

  2. Mongoid czy MongoMapper?

  3. java - występy MongoDB + Solr

  4. Dlaczego Mongoose dodaje puste tablice?

  5. Integracje i usługi dostępne w MongoDB dla chmury