मुझे सहमत होना है:करने के लिए सबसे आसान काम है अपने दस्तावेज़ों में एक यादृच्छिक मूल्य स्थापित करना। मूल्यों की एक बहुत बड़ी श्रृंखला होने की आवश्यकता नहीं है, या तो -- आपके द्वारा चुनी गई संख्या आपके प्रश्नों के लिए अपेक्षित परिणाम आकार पर निर्भर करती है (अधिकांश मामलों के लिए 1,000 - 1,000,000 अलग-अलग पूर्णांक पर्याप्त होने चाहिए)।
जब आप अपनी क्वेरी चलाते हैं, तो यादृच्छिक फ़ील्ड के बारे में चिंता न करें - इसके बजाय, इसे अनुक्रमित करें और इसे सॉर्ट करने के लिए उपयोग करें। चूंकि यादृच्छिक संख्या और दस्तावेज़ के बीच कोई पत्राचार नहीं है, इसलिए आपको काफी यादृच्छिक परिणाम मिलना चाहिए। ध्यान दें कि टकराव के परिणामस्वरूप दस्तावेज़ों को स्वाभाविक क्रम में लौटाए जाने की संभावना होगी।
जबकि यह है निश्चित रूप से एक हैक, आपके पास एक बहुत ही आसान बचने का मार्ग है:मोंगोडीबी की स्कीमा-मुक्त प्रकृति को देखते हुए, सर्वर में यादृच्छिक सॉर्ट के लिए समर्थन होने के बाद आप बस यादृच्छिक फ़ील्ड को शामिल करना बंद कर सकते हैं। यदि आकार एक समस्या है, तो आप मौजूदा दस्तावेज़ों से फ़ील्ड को निकालने के लिए एक बैच कार्य चला सकते हैं। यदि आप इसे सावधानीपूर्वक डिज़ाइन करते हैं तो आपके क्लाइंट कोड में कोई महत्वपूर्ण परिवर्तन नहीं होना चाहिए।
एक वैकल्पिक विकल्प परिणामों की संख्या के बारे में लंबा और कठिन सोचना होगा जो किसी दिए गए प्रश्न के लिए यादृच्छिक और लौटाए जाएंगे। क्लाइंट कोड में केवल फेरबदल करना बहुत महंगा नहीं हो सकता है (यानी, यदि आप केवल नवीनतम 10,000 पोस्ट पर विचार करते हैं)।