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.Binaryobjekt betyder inte att man anroparBSON.encode(). -
Och det är där PyMongo lurar dig lite.
bson.binary.Binaryär en runtime-patchadstrellerbytesinstans (se källa ). Det är därför du får det andra felet:det du kallar är faktisktstr.decode(), inteBSON.decode(). Så,gotfieldinnehå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.