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

mongo 3 duplikaty na unikalnym indeksie - dropDups

Tak dropDupes jest teraz przestarzały od wersji 2.7.5, ponieważ nie było możliwe prawidłowe przewidzenie, który dokument zostanie usunięty w procesie.

Zazwyczaj masz 2 opcje:

  1. Użyj nowej kolekcji :

    • Utwórz nową kolekcję,
    • Utwórz unikalny indeks w tej nowej kolekcji,
    • Uruchom wsad, aby skopiować wszystkie dokumenty ze starej kolekcji do nowej i upewnij się, że podczas procesu zignorujesz błąd zduplikowanego klucza.
  2. Zajmij się tym w swojej własnej kolekcji ręcznie :

    • upewnij się, że nie wstawisz do kodu więcej zduplikowanych dokumentów,
    • uruchom partię w swojej kolekcji, aby usunąć duplikaty (i upewnij się, że zachowałeś ten dobry, jeśli nie są one całkowicie identyczne),
    • następnie dodaj unikalny indeks.

W twoim konkretnym przypadku polecam pierwszą opcję ale z podstępem:

  • Utwórz nową kolekcję z unikalnym indeksem,
  • Zaktualizuj swój kod, aby teraz wstawiać dokumenty w obu stoły,
  • Uruchom partię, aby skopiować wszystkie dokumenty ze starej kolekcji do nowej (zignoruj ​​błąd zduplikowanego klucza),
  • zmień nazwę nowej kolekcji, aby odpowiadała starej nazwie.
  • zaktualizuj swój kod, aby teraz pisać tylko w „starej” kolekcji


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Pomnóż pole przez wartość w Mongodb

  2. Kopia zapasowa MongoDB w postaci tekstowej, a nie binarnej do kontroli źródła

  3. Jak zorganizować relację wiele do wielu w MongoDB

  4. Wartość przyrostu Mongodb wewnątrz zagnieżdżonej tablicy

  5. Mongoose znajdź/zaktualizuj poddokument