Låt oss gå igenom felen:
-
Det första felet visas helt enkelt för att du behöver ett faktiskt BSON-objekt. Observera att du aldrig har kodat någon data - skapa
bson.binary.Binary
objekt betyder inte att man anroparBSON.encode()
. -
Och det är där PyMongo lurar dig lite.
bson.binary.Binary
är en runtime-patchadstr
ellerbytes
instans (se källa ). Det är därför du får det andra felet:det du kallar är faktisktstr.decode()
, inteBSON.decode()
. Så,gotfield
innehåller den slumpmässiga flytdata som du har lagrat från början, men själva objektet har några olika metoder (t.ex.repr()
) bunden till det.