जहां तक मुझे पता है, दक्षता में कोई बड़ा अंतर नहीं है सिवाय कुछ मामलों में जैसे दिनांक के अनुसार आदेश देना (चूंकि ObjectId के पास उनमें दिनांक समय है, आदि)
उदाहरण के लिए आप केवल _id . द्वारा आदेश देने की क्षमता खो देंगे आप शार्डिंग और वितरण के लाभों को भी खो देंगे। . इसके अलावा, जबकि मैं अभी भी व्यक्तिगत रूप से ObjectId के किसी भी तरह का उपयोग करूंगा ... जब तक int अजीब है (बेशक) ... आपको ठीक होना चाहिए।
चूंकि _id हमेशा एक प्रश्न में "वापस आता है" मुझे लगता है कि आप थोड़ा समय और डेटा स्थानांतरण बचाएंगे (थोड़ा सा।)
आप अपनी _id . भी बना सकते हैं एक सरणी यदि आप चाहते थे, और यह सभी अनुक्रमणिका को अच्छी तरह से देखेगा उत्तर (ऐसा नहीं है कि मैं अनिवार्य रूप से अधिकांश समय इसकी अनुशंसा करता हूं।)
यह भी देखें:ऑब्जेक्ट आईडी को ऑप्टिमाइज़ करना