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

Jak mogę usunąć duplikaty w MongoDb?

MongoDB prawdopodobnie robi to, aby się bronić. Jeśli dropDups w niewłaściwym polu możesz uruchomić cały zestaw danych i zablokować bazę danych za pomocą operacji usuwania (które są "tak drogie" jak zapisy).

Więc pierwsze pytanie brzmi:dlaczego tworzysz unikalny indeks na id pole?

MongoDB tworzy domyślny _id pole, które jest automatycznie unikatowe i indeksowane. Domyślnie MongoDB wypełnia _id z ObjectId , jednak możesz to zmienić dowolną wartością. Jeśli masz gotowy zestaw wartości identyfikatorów, możesz ich użyć .

Jeśli nie możesz ponownie zaimportować wartości, skopiuj je do nowej kolekcji podczas zmiany id w _id . Następnie możesz usunąć starą kolekcję i zmienić nazwę nowej. (pamiętaj, że otrzymasz kilka „błędów zduplikowanych kluczy”, upewnij się, że Twój kod je przechwytuje i ignoruje )



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zdobyć aplikacje meteor.com do korzystania z zewnętrznej bazy danych mongo?

  2. jak uruchomić natywne zapytanie mongodb z funkcją daty mongodb w spring-data-mongodb?

  3. Dlaczego przed identyfikatorem dokumentu MongoDb znajduje się podkreślenie?

  4. Jak warunkowo zrestartować łańcuch obietnic od początku?

  5. Czy istnieje konwencja nazywania kolekcji w MongoDB?