मैं समझता हूं कि दस्तावेज़ डेटाबेस में जॉइन या तो संभव नहीं हैं या फंसे हुए हैं। मैं एक रिलेशनल डेटाबेस पृष्ठभूमि से आ रहा हूं और इस तरह के परिदृश्यों को संभालने के तरीके को समझने की कोशिश कर रहा हूं।जॉइन के बिना, दस्तावेज़ डेटाबेस में डेटा को संभालने का सही तरीका क्या है?
मान लें कि मेरे पास एक कर्मचारी संग्रह है जहां मैं सभी कर्मचारी संबंधित जानकारी संग्रहीत करता हूं।
{
"id": 444,
"projectName": "My Construction Project",
"projectType": "Construction",
"projectTeam":[
{ "_id": 2345, "position": "Engineer" },
{ "_id": 1234, "position": "Project Manager" }
]
}
मैं एक सूची प्रदान करना चाहते हैं:, मैं एक अलग प्रोजेक्ट संग्रह जहाँ मैं परियोजना डाटा स्टोर है कि उस तरह दिखता है
{
"id": 1234,
"firstName": "John",
"lastName": "Smith",
"gender": "Male",
"dateOfBirth": "3/21/1967",
"emailAddresses":[
{ "email": "[email protected]", "isPrimary": "true" },
{ "email": "[email protected]", "isPrimary": "false" }
]
}
यह भी मान लें: निम्नलिखित एक ठेठ कर्मचारी दस्तावेज है प्रोजेक्ट टीमों के साथ मेरी सभी परियोजनाओं में से, मैं यह सुनिश्चित करने में कैसे संभाल सकता हूं कि मैं टीम में व्यक्तियों यानी पूर्ण नाम, ईमेल पते इत्यादि के बारे में सभी प्रासंगिक जानकारी वापस कर दूं?
क्या यह दो अलग-अलग प्रश्न हैं? परियोजनाओं के लिए एक और दूसरा उन लोगों के लिए जिनकी आईडी परियोजनाओं के संग्रह में दिखाई देती है?
यदि हां, तो मैं लोगों के बारे में डेटा कैसे कहूं, जैसे पूरे नाम, ईमेल पते? क्या मैं डेटा को अपडेट करने के लिए अपने ऐप में फ़ोरैच लूप करता हूं?
यदि मैं सभी प्रासंगिक डेटा को पॉप्युलेट करने के लिए अपने आवेदन पर निर्भर हूं, तो यह एक प्रदर्शन हिट नहीं है जो मोंगोडीबी जैसे दस्तावेज़ डेटाबेस के प्रदर्शन लाभों को ऑफ़सेट करेगा?
आपकी मदद के लिए धन्यवाद।
बहुत बहुत धन्यवाद! – Sam