Замена ObjectID в MongoDB чистыми строками

У меня есть база данных MongoDB, которая генерирует идентификаторы с типом ObjectID.

Я думаю, что у меня часто возникают проблемы с типом ObjectID при сравнении их со строками, выводе их в виде JSON и т.д.

Кроме того, я думаю, что они очень уродливы, когда я посещаю профиль пользователя /users/59aed0f8f25c0f0ca8f94aad.

Поэтому я подумал, можно ли (и разумно) не использовать ObjectID? Мне очень нравится длина, например, идентификаторов YouTube и IMDb, поэтому я подумал о том, чтобы найти алгоритм для создания таких идентификаторов.

Но не будет ли проблем без использования ObjectID? Я никогда не понимал, почему они не просто строки, но мне интересно, существуют ли они либо по какой-то причине оптимизации, либо по обратной трассировке, когда был сгенерирован идентификатор, или что-то в этом роде?


person Jamgreen    schedule 06.09.2017    source источник
comment
ObjectID — это объект, поскольку значение находится в шестнадцатеричном формате. Использование строки сделало бы идентификатор длиннее (в байтах).   -  person Orelsanpls    schedule 06.09.2017
comment
Я думаю, вы можете найти почти все ответы здесь: mgo - bson.ObjectId vs string id   -  person Filipp Shestakov    schedule 06.09.2017