Generování ObjectID byste měli nechat na klientech/ovladačích. To zajišťuje, že generovaná ID jsou jedinečná mezi mnoha věcmi, jako je čas, server a proces. Použití standardního ObjectID také znamená, že metody implementované ovladači (jako je getTimestamp()) fungují.
Pokud však uvažujete o použití svého vlastního typ ID pro pole _id (tj. ne standardní typ ObjectID), pak je to životaschopná volba. Pokud například chcete uložit informace o uživateli twitteru, pak použití ID uživatele twitteru jako hodnoty _id dává dokonalý smysl. Osobně se snažím spoléhat na typ ObjectID tak málo, jak jen musím, protože kolekce už mají v každém dokumentu pole, které každý dokument jednoznačně identifikuje.