sql >> Databáze >  >> NoSQL >> MongoDB

Aktualizace záznamů v MongoDB prostřednictvím pymongo vede k odstranění většiny z nich

První věc, kterou je třeba zkontrolovat, je „existovaly nějaké výjimky“ ?

V coll.update() , nenastavujete safe variabilní. Pokud je v update výjimka , nebude vyhozen.

Ve vašem kódu nezachytáváte výjimky (což je navrženo) a vaše aktualizace nekontroluje výjimky, takže nemáte žádný způsob, jak zjistit, co se děje.

Druhá věc ke kontrole je „jak počítáte“ ?

update příkaz může "vymazat" data, ale nemůže smazat data (nebo změnit _id ).

Máte kopii původních dat? Můžete spustit svůj kód na malém počtu z těchto 10 nebo 100 a zjistit, co se děje?

To, co popisujete, není normální u žádného z ovladačů MongoDB . K vyřešení tohoto problému rozhodně potřebujeme více dat.




  1. kryptická chyba mongodb LEFT_SUBFIELD podporuje pouze Object:stats not:6

  2. Agregace MongoDB:Jak získat celkový počet záznamů?

  3. Programově aktualizujte pole v Mongo a Meteor

  4. Nainstalujte MongoDB na Windows