Bulat
जब हम MongoDB दस्तावेज़ों और MySQL रिकॉर्ड के बीच संदर्भों को संभालने के लिए OpenSky में थे, तब एक सिद्धांत विस्तार लागू किया, जो वर्तमान में उनके (स्वीकार्य रूप से पुराने) कांटा
DoctrineExtensions
के परियोजना। आप orm2odm_references
में से किसी एक को देखना चाहेंगे या openskyfork
शाखाएँ। इसके लिए आपकी परियोजना में प्रयोग करने योग्य होने के लिए, आप शायद इसे DoctrineExtensions के एक नए कांटे पर पोर्ट करना चाहेंगे, या बस अपने आवेदन में कोड शामिल करें। दुर्भाग्य से, कोड के अलावा कोई दस्तावेज नहीं है।
शुक्र है, वहाँ भी है -odm.html">रसोई की किताब का लेख सिद्धांत वेबसाइट पर जो वर्णन करता है कि इसे खरोंच से कैसे कार्यान्वित किया जाए। मूल रूप से, आप किसी अन्य ऑब्जेक्ट मैनेजर से अपनी संपत्ति को संदर्भ (यानी प्रारंभिक प्रॉक्सी ऑब्जेक्ट) के साथ बदलने के लिए एक ईवेंट श्रोता पर भरोसा करते हैं और प्रॉक्सी ऑब्जेक्ट्स का स्वाभाविक व्यवहार आलसी लोड करने के लिए बाकी का ख्याल रखता है। बशर्ते ईवेंट श्रोता एक सेवा हो, आप इसमें आसानी से ORM और ODM दोनों ऑब्जेक्ट मैनेजरों को इंजेक्ट कर सकते हैं।
इस मॉडल द्वारा गारंटीकृत एकमात्र अखंडता यह है कि खराब संदर्भ को हाइड्रेट करने का प्रयास करते समय आपको अपवाद प्राप्त होंगे, जो कि संभवतः अन्य डेटाबेस की एक आईडी को संग्रहीत करने और मैन्युअल रूप से क्वेरी करने से आपको प्राप्त होने की तुलना में अधिक है।