आप जो क्वेरी कर रहे हैं, उसके लिए आपको निश्चित रूप से अनुकूलित करने की आवश्यकता होगी।
आपके विवरण के आधार पर यह मेरा सर्वोत्तम अनुमान है।
आप शायद प्रत्येक ग्राहक के लिए सभी क्रेडिट कार्ड जानना चाहेंगे, इसलिए ग्राहक ऑब्जेक्ट के भीतर उनकी एक सरणी रखें। आप शायद प्रत्येक भुगतान के लिए एक ग्राहक संदर्भ भी रखना चाहेंगे। यह भुगतान दस्तावेज़ को अपेक्षाकृत छोटा रखेगा।
भुगतान वस्तु की स्वचालित रूप से अपनी आईडी और अनुक्रमणिका होगी। आप शायद ग्राहक संदर्भ पर भी एक अनुक्रमणिका जोड़ना चाहेंगे।
यह आपको हर बार संपूर्ण ग्राहक वस्तु को संग्रहीत किए बिना ग्राहक द्वारा भुगतान की त्वरित खोज करने की अनुमति देगा।
अगर आप "पिछले महीने सभी ग्राहकों द्वारा भुगतान की गई औसत राशि क्या थी" . जैसे सवालों का जवाब देना चाहते हैं? आप इसके बजाय किसी भी बड़े डेटासेट के लिए नक्शा/कम करना चाहते हैं। आपको यह प्रतिक्रिया "रीयल-टाइम" नहीं मिल रही है। आप पाएंगे कि ग्राहक के लिए "संदर्भ" संग्रहीत करना संभवतः इन मानचित्रों को कम करने के लिए पर्याप्त है।
तो सीधे आपके प्रश्न का उत्तर देने के लिए:क्या MongoDB को कई, कई छोटे दस्तावेज़ या कम बड़े दस्तावेज़ पसंद करने के लिए डिज़ाइन किया गया है?
MongoDB को अनुक्रमित प्रविष्टियों को बहुत तेज़ी से खोजने के लिए डिज़ाइन किया गया है। MongoDB कुछ . खोजने में बहुत अच्छा है एक बड़े भूसे के ढेर में सुई। MongoDB नहीं है सबसे खोजने में बहुत अच्छा है घास के ढेर में सुइयों की। इसलिए अपने सबसे सामान्य उपयोग के मामलों के आसपास अपना डेटा बनाएं और दुर्लभ उपयोग के मामलों के लिए मानचित्र लिखें/नौकरियां कम करें।