MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

La mise à jour des enregistrements dans MongoDB via pymongo entraîne la suppression de la plupart d'entre eux

La première chose à vérifier est "y avait-il des exceptions" ?

Dans coll.update() , vous ne définissez pas le safe variable. S'il y a une exception sur la update , il ne sera pas lancé.

Dans votre code, vous n'attrapez pas les exceptions (ce qui est suggéré) et votre mise à jour ne vérifie pas les exceptions, vous n'avez donc aucun moyen de savoir ce qui se passe.

La deuxième chose à vérifier est "comment comptez-vous" ?

La update La commande peut "effacer" les données, mais elle ne peut pas supprimer les données (ou modifier un _id ).

Avez-vous une copie des données originales ? Pouvez-vous exécuter votre code sur un petit nombre de ces 10 ou 100 et voir ce qui se passe ?

Ce que vous décrivez n'est normal avec aucun des pilotes MongoDB . Nous avons certainement besoin de plus de données pour résoudre ce problème.