Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Pymongo के साथ कस्टम Python ऑब्जेक्ट्स को BSON के रूप में कैसे एन्कोड करें?


Pymongo के साथ कस्टम Python ऑब्जेक्ट्स को BSON के रूप में एन्कोड करने के लिए, आपको एक `SONManipulator` लिखना होगा। डॉक्स से:

`SONManipulator` इंस्टेंसेज आपको PyMongo द्वारा स्वचालित रूप से लागू होने वाले ट्रांसफॉर्मेशन निर्दिष्ट करने की अनुमति देते हैं।

from pymongo.son_manipulator import SONManipulator

class Transform(SONManipulator):
    def transform_incoming(self, son, collection):
        for (key, value) in son.items():
            if isinstance(value, Custom):
                son[key] = encode_custom(value)
            elif isinstance(value, dict):  # सुनिश्चित करें कि हम सब-डॉक्स में रिकर्स करते हैं
                son[key] = self.transform_incoming(value, collection)
        return son

    def transform_outgoing(self, son, collection):
        for (key, value) in son.items():
            if isinstance(value, dict):
                if "_type" in value and value["_type"] == "custom":
                    son[key] = decode_custom(value)
                else:  # फिर से, सब-डॉक्स में रिकर्स करना सुनिश्चित करें
                    son[key] = self.transform_outgoing(value, collection)
        return son

इसे अपने pymongo डेटाबेस ऑब्जेक्ट में जोड़ें:

db.add_son_manipulator(Transform())

ध्यान दें कि यदि आप नम्पी ऐरे को साइलेंटली Python ऐरे में कास्ट करना चाहते हैं तो आपको `_type` फील्ड जोड़ने की आवश्यकता नहीं है।

  1. - पायथन पैंडास - RangeIndex कैसे बनाएं

    RangeIndex बनाने के लिए, पैंडास में pandas.RangeIndex() विधि का उपयोग करें। सबसे पहले, आवश्यक लाइब्रेरी आयात करें: import pandas as pd RangeIndex Int64Index का एक मेमोरी-बचत विशेष मामला है जो मोनोटोनिक रेंज को दर्शाने तक सीमित है। RangeIndex का उपयोग करने से कुछ उदाहरणों में कंप्यूटिंग गति में सुधार

  1. Python में Bokeh के साथ इमेजेज के साथ कैसे काम करें? Python में Bokeh के साथ इमेजेज के साथ कैसे काम करें?

    Bokeh में इमेजेज के साथ काम करने के लिए image_url() मेथड का उपयोग करें और इमेजेज की लिस्ट पास करें। चरण :func:show कॉल होने पर फाइल में सेव आउटपुट जनरेट करने के लिए डिफ़ॉल्ट आउटपुट स्टेट कॉन्फिगर करें। प्लॉटिंग के लिए नया फिगर बनाएं। दिए गए URLs से लोड की गई इमेजेज रेंडर करें। Bokeh ऑब्जेक्ट या एप

  1. - Python और Boto3 का उपयोग करके S3 ऑब्जेक्ट्स को आसानी से पुनर्प्राप्त करें: चरण-दर-चरण गाइड

    इस पोस्ट में हम दिखाते हैं कि Python और Boto 3 लाइब्रेरी का उपयोग करके AWS S3 बकेट से फ़ाइलों और इमेजेस को कैसे डाउनलोड किया जाए। Boto Python के लिए एक AWS SDK है। यह उपयोग में आसान फ़ंक्शन प्रदान करता है जो EC2 और S3 बकेट जैसी AWS सेवाओं के साथ इंटरैक्ट कर सकते हैं। Python और Boto 3 के साथ S3 ऑब्जे