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.