@ aav упоминалось, что вы можете использовать первые 4 байта, но это значение указано в секундах, и вы можете получить даже 10.000 или более вставок в секунду. Еще один объект objectID - это Uniq, и вам нужно проверить «когда» вы получаете ошибку из дублирующегося значения «Записать проблемы»?
new Date (). GetTime () - в миллисекундах => 1557702577900 почему бы не использовать последние 4 байта?
Этот код выглядит интересно:
https://github.com/treygriffith/short-mongo-id/blob/master/lib/objectIdToShortId.js
Проверьте также синтаксический анализатор меток времени ObjectID:
https://steveridout.github.io/mongo-object-time/
Или вы можете выполнить ObjectId (). ToString () и основание этой строки создать новое с помощью хешей [nodejs, php, andmanymore]
Возможно, лучше всего использовать 4-5 байт из js timestamp и INC из
Затем bson хеширует это значение с помощью hids
Database 3milion rows numeric increment "_id" size on disk => 76MB, default object id => 86MB