Er zijn geen grote verschillen in efficiëntie voor zover ik weet behalve in bepaalde gevallen zoals bestellen op datum (aangezien de ObjectId's de datetime in zich hebben, enz.)
U verliest bijvoorbeeld de mogelijkheid om eenvoudig te bestellen met de _id je zou ook de voordelen verliezen voor sharding en distributie . Afgezien daarvan, terwijl ik toch persoonlijk de ObjectId's zou gebruiken ... zolang de int is onrustig (natuurlijk) ... het zou goed moeten komen.
Sinds de _id altijd "komt terug" in een zoekopdracht Ik veronderstel dat je wat tijd en gegevensoverdracht zou besparen (een beetje.)
U kunt zelfs uw _id . maken een array als je wilt, en het zal allemaal mooi indexeren, zie dit antwoord (niet dat ik dat meestal zou aanraden.)
Zie ook:Object-ID's optimaliseren