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

Aktualizacja rekordów w MongoDB przez pymongo prowadzi do usunięcia większości z nich

Pierwszą rzeczą do sprawdzenia jest „czy były jakieś wyjątki” ?

W coll.update() , nie ustawiasz safe zmienny. Jeśli istnieje wyjątek w update , nie zostanie wyrzucony.

W swoim kodzie nie przechwytujesz wyjątków (co jest sugerowane), a twoja aktualizacja nie sprawdza wyjątków, więc nie masz możliwości sprawdzenia, co się dzieje.

Drugą rzeczą do sprawdzenia jest „jak się liczysz” ?

update polecenie może "wymazać" dane, ale nie może usunąć danych (lub zmienić _id ).

Czy masz kopię oryginalnych danych? Czy możesz uruchomić swój kod na małej liczbie z tych 10 lub 100 i zobaczyć, co się dzieje?

To, co opisujesz, nie jest normalne w przypadku żadnego ze sterowników MongoDB . Zdecydowanie potrzebujemy więcej danych, aby rozwiązać ten problem.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Co oznacza rozmiar pliku i rozmiar danych w MongoDB?

  2. Wiele do wielu relacji z MongoDB na dużą skalę

  3. $i zapytanie nie zwraca żadnego wyniku

  4. Jak utrwalić MongoDB - dane działającego kontenera Docker w nowym obrazie?

  5. MongoDB przeciwieństwo $addToSet