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

MongoDB C# ड्राइवर के साथ बहुरूपी प्रकारों को डिसेरिएलाइज़ करना

आपके पास समान "सार्वजनिक ऑब्जेक्ट आईडी आईडी" क्यों है? प्रत्येक व्युत्पन्न वर्ग में?यह वास्तव में अच्छा विचार नहीं है। यह पैरेंट आईडी फ़ील्ड को छुपाता है।

अपनी समस्या को हल करने के लिए आपको अपनी व्युत्पन्न कक्षाओं को "पंजीकृत" करने की आवश्यकता है (जैसे किसी क्रमबद्धता/deserialization तंत्र में)। इसे करने के 3 तरीके हैं:

  1. घोषणात्मक तरीका - बेस नोड क्लास को इससे सजाएं:

    [BsonKnownTypes(typeof(PlotNode), typeof(EndNode))]
    
  2. सामान्य तरीका - जब संकलन समय पर प्रकार ज्ञात हों:

    BsonClassMap.RegisterClassMap<PlotNode>();
    BsonClassMap.RegisterClassMap<EndNode>();
    
  3. गतिशील तरीका - जब संकलन समय पर प्रकार अज्ञात हों:

    BsonClassMap.LookupClassMap(typeof(PlotNode));
    BsonClassMap.LookupClassMap(typeof(EndNode));
    

  • एक और सुझाव - क्वेरी के बजाय LINQ का उपयोग करें

    Node node = collection.AsQueryable().FirstOrDefault(n => n.Id == id);
    



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. एक चर को रेगेक्स में कैसे पास करें

  2. मोंगोडीबी $पाउ

  3. Mongoose कॉलबैक में कौन से पैरामीटर पास किए जाते हैं

  4. सफल डेटा गवर्नेंस के छह महत्वपूर्ण घटक

  5. JWT द्वारा NodeJS और MongoDB एप्लिकेशन प्रमाणीकरण