दो कारण:
-
प्रत्येक ObjectId क्लाइंट पर स्थानीय रूप से उत्पन्न होता है। विभिन्न ग्राहक उनके द्वारा उत्पन्न मूल्यों का समन्वय नहीं कर रहे हैं। इसलिए यह संभव है कि ऐसे दो क्लाइंट हैं जो समान यादृच्छिक संख्याएँ उत्पन्न करते हैं और इस प्रकार बिल्कुल समान ObjectIds उत्पन्न करते हैं। अत्यधिक संभावना नहीं है लेकिन संभव है, इसलिए "संभावना अद्वितीय" शब्द है।
-
ऑब्जेक्टआईड जनरेशन एल्गोरिथम एक 3-बाइट काउंटर के उपयोग को निर्दिष्ट करता है जिसका उपयोग उसी सेकंड में उत्पन्न मूल्यों को स्पष्ट करने के लिए किया जाता है। यदि आप एक ही सेकंड में 16 मिलियन से अधिक ObjectIds जेनरेट करते हैं, तो वह काउंटर ओवरफ्लो हो जाएगा और आप जिस क्लाइंट का उपयोग कर रहे हैं, वह ObjectIds जेनरेट करना शुरू कर देगा जो इसे एक क्षण पहले ही जेनरेट किया गया है।