में संग्रह पर रिकर्सिव खोज मेरे पास पेड़ संरचना के साथ मोंगोडीबी में दस्तावेजों की एक सूची है, जहां Model Tree Structures with Parent References पैटर्न का उपयोग किया जाता है। मैं एक एकल समेकन क्वेरी चाहता हूं जो 'नाम' संपत्ति को देखते हुए पूर्वजों की सूची (रूट तक) लौटाता है।MongoDB
संरचना:
{
'_id': '1',
'name': 'A',
'parent': '',
},
{
'_id': '2',
'name': 'B',
'parent': 'A',
},
{
'_id': '3',
'name': 'C',
'parent': 'B',
},
{
'_id': '4',
'name': 'D',
'parent': 'C',
}
एकत्रीकरण परिणाम: (को देखते हुए नाम = 'डी')
{
'_id': '4',
'name': 'D',
'ancestors': [{name:'C'}, {name:'B'}, {name:'A'}]
}
Note:
मैं अब दस्तावेज़ संरचना बदल नहीं सकते। इससे कई समस्याएं पैदा होंगी। मैंने कई समाधान देखा जो Model Tree Structures with an Array of Ancestors का उपयोग करने का सुझाव देते हैं। लेकिन अब मैं इसका इस्तेमाल नहीं कर सकता। एकल समेकन क्वेरी का उपयोग कर उपर्युक्त पैटर्न के साथ इसे प्राप्त करने का कोई तरीका है? धन्यवाद
'_id' स्ट्रिंग क्यों है? – styvane
@Styvane यह सिर्फ एक उदाहरण है। वास्तविक दस्तावेज़ में ऑब्जेक्ट आईडी – RaR
@RaR होगा स्टीवन के उत्तर के बारे में कुछ ऐसा है जो आपके लिए काम नहीं करता है जो बक्षीस को प्रेरित करता है? – JohnnyHK