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