Pojďme si projít chyby:
-
První chyba se objeví jednoduše proto, že potřebujete skutečný objekt BSON. Všimněte si, že jste nikdy nekódovali žádná data – vytvoření
bson.binary.Binaryobjekt neznamená vyvoláníBSON.encode(). -
A to je místo, kde vás PyMongo trochu podvádí.
bson.binary.Binaryjestropravený za běhu nebobytesinstance (viz zdroj ). Proto se zobrazí druhá chyba:to, co voláte, je ve skutečnostistr.decode(), nikoliBSON.decode(). Takžegotfieldobsahuje náhodná plovoucí data, která jste původně uložili, ale samotný objekt má různé metody (např.repr()) na to vázán.