Passons en revue les erreurs :
-
La première erreur apparaît simplement parce que vous avez besoin d'un objet BSON réel. Notez que vous n'avez jamais encodé de données - en créant
bson.binary.Binary
objet ne signifie pas invoquerBSON.encode()
. -
Et c'est là que PyMongo vous trompe un peu. Le
bson.binary.Binary
est unstr
corrigé à l'exécution oubytes
instance (voir source ). C'est pourquoi vous obtenez la deuxième erreur :ce que vous appelez est en faitstr.decode()
, pasBSON.decode()
. Donc,gotfield
contient les données flottantes aléatoires que vous avez initialement stockées, mais l'objet lui-même a des méthodes différentes (par exemple,repr()
) qui lui est lié.