में कस्टम ऑब्जेक्ट आईडी बनाना मैं एक सेवा बना रहा हूं जिसके लिए मैं मोंगोडीबी को भंडारण बैकएंड के रूप में उपयोग करूंगा। सेवा उपयोगकर्ता इनपुट का हैश उत्पन्न करेगी और फिर देखें कि क्या हमारे हैसेट (+ इनपुट) पहले से ही हमारे डेटासेट में मौजूद है या नहीं।MongoDB
हैश हो जाएगा अद्वितीय अभी तक यादृच्छिक (= गैर वृद्धिशील/अनुक्रमिक), तो मेरे सवाल यह है:
- यह एक वस्तु आईडी के लिए एक यादृच्छिक मान का उपयोग करने -legitimate- है? उदाहरण:
$object_id = new MongoId(HEX-OF-96BIT-HASH);
या MongoDB, अन्य सर्वर-उत्पादित लोगों से अलग ढंग से व्यवहार करेगा ObjectID के बाद से एक 'असली' ObjectID भी टाइम स्टांप, machine_id, आदि शामिल हैं?
'यादृच्छिक' मान का उपयोग करने के पेशेवर और विपक्ष क्या हैं? मुझे लगता है कि यह इंजन के लिए इन्सर्ट पर इंडेक्स को अपडेट करने के लिए सांख्यिकीय रूप से धीमा होगा जब नया _आईडी किसी भी तरह से वृद्धिशील नहीं होगा - क्या मैं उस पर सही हूं?
अद्वितीय + यादृच्छिक आईडी जाने का तरीका है। – Sim
@ सिम यह है कि आपने वोट क्यों दिया? हो सकता है कि आप हमारे तर्क को हमारे लिए थोड़ा समझा सकें, आप मूल रूप से वही तर्क बोल रहे हैं क्योंकि मैं और यह उत्तरदाता दोनों करता है। अनिवार्य रूप से ऑब्जेक्टआईडी एक अद्वितीय और यादृच्छिक आईडी है। – Sammaye
@Sammaye क्षमा करें, यह एक बुरी तरह से लक्षित क्लिक किया जाना चाहिए था। :/मैं आपके और इस जवाब दोनों को अप-वोट करना चाहता था क्योंकि वे मेरे से अधिक प्रासंगिक हैं। यदि आप अपना उत्तर संपादित करते हैं तो मैं इसे वोट दे सकता हूं। संपादन के बिना सिस्टम मुझे नहीं जाने देगा। – Sim