As objectID is stored on 12 bytes and are even not well for shard key i ask myself if it's not better to use instead a totally random int64 (8 bytes) for _id ?
my idea, create a totally random int64, see if it's not already present in the collection (mostly not it the pseudo random generator work well), if not then create the document with this _id. so we have _id that use only 8 bytes and work well for shard key
what do you think about it ?