MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

{दस्तावेज़} को कैसे ठीक करें। Id समर्थित नहीं है त्रुटि

मुझे एक ही मुद्दे का सामना करना पड़ा था। MongoDB कोड में डिबगिंग के बाद, मैंने देखा कि विशिष्ट प्रकार के बजाय इंटरफ़ेस का उपयोग करते समय एक अलग धारावाहिक लागू किया जाता है। इस मामले में, भेदभावपूर्णइंटरफ़ेससेरियलाइज़र इंटरफ़ेस के लिए धारावाहिक के रूप में प्रयोग किया जाता है, जबकि BsonClassMapSerializer विशिष्ट प्रकार के लिए उपयोग किया जाता है।

इंटरफ़ेस के लिए इस धारावाहिक के साथ, कार्यान्वयन वर्ग का क्लासमैप इंटरफ़ेस से जुड़ा नहीं है। इसलिए यह अनजान है कि Id bson id फ़ील्ड है और इसे '_id' कुंजी से मैप किया जाना चाहिए। इसलिए अपवाद उठाया गया है।

मेरे लिए कारगर समाधान ImpliedImplementationInterfaceSerializer . का उपयोग करना है :

[BsonSerializer(typeof(ImpliedImplementationInterfaceSerializer<IEntity, Entity>))]
public interface IEntity 
{ 
   // snip...
}

यह विशेषता सीरिएलाइज़र को पंजीकृत करती है और IEntity के लिए Entity के bson क्लासमैप का उपयोग करने के लिए परिभाषित करती है ताकि Id संपत्ति को ठीक से मैप किया जा सके। मुझे यह समाधान @Robert बेकर के लिए उनके उत्तर में धन्यवाद मिला:ऑब्जेक्ट को MongoDB C# Driver के साथ इंटरफेस के रूप में डिसेरिएलाइज करें



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक ही मशीन पर चल रहे डॉकर के अंदर से होस्ट में चल रहे मोंगोडीबी में डेटा कैसे लोड करें?

  2. सरणी तत्वों की तुलना करें, सबसे कम स्कोर वाले को हटा दें

  3. डोकर और अंजीर का उपयोग करके एक मोंगोडब प्रतिकृति सेट सेट करने का उचित तरीका क्या है?

  4. डोकर कंटेनर से होस्ट करने के लिए वाइल्डकार्ड के साथ फ़ोल्डर कॉपी करें

  5. मोंगोडीबी $strcasecmp