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

मोंगो-गो-ड्राइवर के साथ बीएसओएन को जेसन में प्रभावी ढंग से कैसे परिवर्तित करें?

यदि आप संरचना को जानते हैं यदि आपका बीएसओएन, तो आप एक कस्टम प्रकार बना सकते हैं जो json.Marshaler को लागू करता है और json.Unmarshaler इंटरफेस, और आपकी इच्छानुसार NaN को संभालता है। उदाहरण:

type maybeNaN struct{
    isNan  bool
    number float64
}

func (n maybeNaN) MarshalJSON() ([]byte, error) {
    if n.isNan {
        return []byte("null"), nil // Or whatever you want here
    }
    return json.Marshal(n.number)
}

func (n *maybeNan) UnmarshalJSON(p []byte) error {
    if string(p) == "NaN" {
        n.isNan = true
        return nil
    }
    return json.Unmarshal(p, &n.number)
}

type myStruct struct {
    someNumber maybeNaN `json:"someNumber" bson:"someNumber"`
    /* ... */
}

यदि आपके पास अपने बीएसओएन की मनमानी संरचना है, तो आपका एकमात्र विकल्प प्रतिबिंब का उपयोग करके संरचना को पार करना है, और NaN की किसी भी घटना को एक प्रकार में परिवर्तित करना है (संभवतः ऊपर वर्णित एक कस्टम प्रकार)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दो अलग-अलग संग्रहों में डुप्लिकेट मोंगो ऑब्जेक्ट आईडी उत्पन्न होने की संभावना?

  2. फ़ील्ड के उच्चतम मूल्य के लिए नेस्टेड दस्तावेज़ों की क्वेरी सरणी

  3. मोंगोइड - संदर्भित दस्तावेज़ द्वारा पूछताछ

  4. यदि एकाधिक मॉड्यूल का उपयोग किया जाता है तो स्प्रिंग डेटा एक भंडार को वापस करने के लिए विच स्टोर को कैसे जानता है?

  5. मोंगोडब एग्रीगेशन फ्रेमवर्क ग्रुप और सॉर्ट