आइए त्रुटियों को देखें:
-
पहली त्रुटि केवल इसलिए दिखाई देती है क्योंकि आपको वास्तविक बीएसओएन ऑब्जेक्ट की आवश्यकता होती है। ध्यान दें, आपने कभी भी कोई डेटा एन्कोड नहीं किया है -
bson.binary.Binary. बनाना ऑब्जेक्ट का मतलबBSON.encode()को लागू करना नहीं है . -
और यहीं पर PyMongo आपको थोड़ा धोखा देता है।
bson.binary.Binaryएक रनटाइम-पैच्डstrहै याbytesउदाहरण (स्रोत देखें ) यही कारण है कि आपको दूसरी त्रुटि मिलती है:जिसे आप कहते हैं वह वास्तव मेंstr.decode()है , नहींBSON.decode(). तो,gotfieldशामिल है यादृच्छिक फ़्लोट डेटा जिसे आपने प्रारंभ में संग्रहीत किया है, लेकिन ऑब्जेक्ट में स्वयं कुछ भिन्न विधियां हैं (उदा.repr()) इसके लिए बाध्य।