MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Pymongo BSON Binär speichern und abrufen?

Gehen wir die Fehler durch:

  1. Der erste Fehler erscheint einfach, weil Sie ein tatsächliches BSON-Objekt benötigen. Beachten Sie, dass Sie noch nie Daten kodiert haben - Erstellen von bson.binary.Binary Objekt bedeutet nicht, BSON.encode() aufzurufen .

  2. Und hier betrügt Sie PyMongo ein wenig. Die bson.binary.Binary ist ein zur Laufzeit gepatchtes str oder bytes Instanz (siehe Quelle ). ). Aus diesem Grund erhalten Sie den zweiten Fehler:Was Sie aufrufen, ist eigentlich str.decode() , nicht BSON.decode() . Also gotfield enthält die zufälligen Float-Daten, die Sie ursprünglich gespeichert haben, aber das Objekt selbst hat einige andere Methoden (z. B. repr() ) daran gebunden.