TL;DR
कोई DBRef
नहीं है प्रतिक्रियाशील स्प्रिंग डेटा MongoDB में समर्थन और मुझे यकीन नहीं है कि वहाँ होगा।
स्पष्टीकरण
स्प्रिंग डेटा प्रोजेक्ट्स को टेम्प्लेट एपीआई, कन्वर्टर और मैपिंग मेटाडेटा घटकों में व्यवस्थित किया जाता है। टेम्प्लेट एपीआई का अनिवार्य (अवरुद्ध) कार्यान्वयन Document
लाने के लिए एक अनिवार्य दृष्टिकोण का उपयोग करता है s और इन्हें डोमेन ऑब्जेक्ट में कनवर्ट करें। MappingMongoConverter
विशेष रूप से सभी रूपांतरणों को संभालता है और DBRef
संकल्प। यह एपीआई एक सिंक्रोनस/अनिवार्य एपीआई में काम करता है और टेम्पलेट एपीआई कार्यान्वयन (अनिवार्य और प्रतिक्रियाशील एक) दोनों के लिए उपयोग किया जाता है।
MappingMongoConverter
. का पुन:उपयोग प्रतिक्रियाशील समर्थन जोड़ते समय तार्किक निर्णय था क्योंकि हमें कोड को डुप्लिकेट करने की आवश्यकता नहीं है। केवल एक ही सीमा है DBRef
संकल्प जो प्रतिक्रियाशील निष्पादन मॉडल में फिट नहीं बैठता है।
प्रतिक्रियाशील DBRef
. का समर्थन करने के लिए s, कन्वर्टर को कई बिट्स में विभाजित करने की आवश्यकता होती है और पूरे एसोसिएशन हैंडलिंग के लिए ओवरहाल की आवश्यकता होती है।
संदर्भ :https://jira.spring.io/browse/DATAMONGO-2146
सिफारिश
संदर्भों को अपने डोमेन मॉडल में कुंजी/आईडी के रूप में रखें और आवश्यकतानुसार इन्हें देखें। zipWith
और flatMap
आप जो संग्रह करना चाहते हैं, उसके आधार पर उपयुक्त ऑपरेटर हैं (मॉडल को संदर्भों के साथ बढ़ाएं, केवल संदर्भ देखें)।
संबंधित नोट पर:प्रतिक्रियाशील स्प्रिंग डेटा MongoDB आंशिक रूप से कम सुविधा सेट के साथ आता है। प्रासंगिक स्पेल एक्सटेंशन एक ऐसी सुविधा है जो समर्थित नहीं है क्योंकि ये घटक एक अनिवार्य प्रोग्रामिंग मॉडल मानते हैं और इस प्रकार सिंक्रोनस निष्पादन करते हैं।