Du bør overlade ObjectID-generering til klienterne/driverne. Dette sikrer, at genererede ID'er er unikke blandt mange ting, såsom tid, server og proces. Brug af standard ObjectID betyder også, at metoder implementeret af drivere (såsom getTimestamp()) virker.
Men hvis du overvejer at bruge din egne type ID for _id-feltet (dvs. ikke standard ObjectID-typen), så er det et holdbart valg. For eksempel, hvis du vil gemme oplysninger om en twitter-bruger, så giver det perfekt mening at bruge brugerens twitter-id som _id-værdi. Personligt forsøger jeg at stole på ObjectID-typen så lidt som jeg skal, da samlinger ofte vil have et felt i hvert dokument, som entydigt identificerer hvert dokument.