Първото нещо, което трябва да проверите, е „има ли изключения“ ?
В coll.update() , вие не задавате safe променлива. Ако има изключение при update , няма да бъде хвърлен.
Във вашия код вие не улавяте изключения (което се препоръчва) и вашата актуализация не проверява за изключения, така че няма начин да разберете какво се случва.
Второто нещо, което трябва да проверите, е "как броите" ?
update командата може да "изчисти" данни, но не може да изтрие данни (или да промени _id ).
Имате ли копие на оригиналните данни? Можете ли да стартирате кода си на малък брой от тези 10 или 100 и да видите какво се случва?
Това, което описвате, не е нормално за нито един от драйверите на MongoDB . Определено се нуждаем от повече данни, за да разрешим този проблем.