MongoDB स्टोर कर सकते हैं सहायक दस्तावेज़ों का उपयोग कर सकते एम्बेड करने का यह:
Node
{
"value" : "root"
"children" : [ { "value" : "child1", "children" : [ ... ] },
{ "value" : "child2", "children" : [ ... ] } ]
}
हालांकि, मैं का उपयोग करने की सलाह नहीं देते वृक्ष संरचनाओं या कुछ भी जटिल के लिए उप-दस्तावेज। उप-दस्तावेज प्रथम स्तर के नागरिक नहीं हैं; वे संग्रह आइटम नहीं हैं।
उदाहरण के लिए, मान लें कि आप किसी दिए गए मान के साथ नोड्स को तुरंत ढूंढने में सक्षम होना चाहते हैं। value
पर एक इंडेक्स के माध्यम से, वह लुकअप तेज़ होगा। हालांकि, यदि मान उप-दस्तावेज़ में है, तो इसे अनुक्रमित नहीं किया जाएगा क्योंकि यह संग्रह तत्व का मान नहीं है।
Node
{
"_id" : ObjectId("..."),
"parentId" : ObjectId("..."), // or null, for root
}
आप संबंधित तत्व की आईडी लाने के लिए मैन्युअल रूप से क्रमबद्धता से कुछ करना होगा:
इसलिए, यह आमतौर पर मैन्युअल रूप से क्रमांकन करते हैं और बजाय आईडी की एक सूची संग्रहीत करने के लिए बेहतर है।
संकेत मान लीजिए कि आप पेड़ की एक पूरी शाखा लेना चाहते हैं। इसके बजाय केवल प्रत्यक्ष पैरेंट आईडी भंडारण की, आप स्टोर कर सकते हैं सभी पूर्वज बजाय आईडी:
"ancestorIds": [id1, id2, id3]