"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एमजीओ (गो) में इंटरफेस का उपयोग करके विभिन्न प्रकार के एंबेडेड नोड्स को अनमर्शल कैसे करें?

एमजीओ (गो) में इंटरफेस का उपयोग करके विभिन्न प्रकार के एंबेडेड नोड्स को अनमर्शल कैसे करें?

2024-11-10 को प्रकाशित
ब्राउज़ करें:417

 How to Unmarshal Embedded Nodes of Different Types Using Interfaces in mgo (Go)?

एमजीओ में एक मॉडल के रूप में एक इंटरफ़ेस का उपयोग कैसे करें (जाओ)

वर्कफ़्लो से निपटते समय जिसमें विभिन्न प्रकार के कई एम्बेडेड नोड होते हैं, गो इंटरफेस का लाभ उठाना एक सामान्य दृष्टिकोण है। हालाँकि, एमजीओ का उपयोग करके इन दस्तावेज़ों को अलग करने का प्रयास करते समय यह एक चुनौती प्रस्तुत करता है।

इस समस्या के समाधान के लिए, आप किसी दस्तावेज़ के भीतर सीधे एक इंटरफ़ेस शामिल नहीं कर सकते हैं। ऐसा इसलिए है क्योंकि उचित उदाहरण बनाने के लिए डिकोडर में आवश्यक प्रकार की जानकारी का अभाव है।

एक व्यवहार्य समाधान में वास्तविक नोड और उसके प्रकार दोनों को संग्रहीत करने के लिए एक रैपर संरचना बनाना शामिल है:

type NodeWithType struct {
   Node Node `bson:"-"`
   Type string
}

type Workflow struct {
   CreatedAt time.Time
   StartedAt time.Time
   CreatedBy string
   Nodes []NodeWithType
}

सेटअप पूरा करने के लिए, आपको NodeWithType पर SetBSON फ़ंक्शन लागू करना होगा। यह फ़ंक्शन टाइप स्ट्रिंग को डीकोड करेगा, उस स्ट्रिंग के आधार पर सही नोड प्रकार को इंस्टेंट करेगा, और फिर दस्तावेज़ को नए बनाए गए इंस्टेंस में अनमर्शल करेगा। SetBSON को लागू करने से यह सुनिश्चित होता है कि प्रत्येक एम्बेडेड नोड सही कंक्रीट प्रकार में ठीक से अनमर्शल हो गया है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3