MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Компресиране на шестнадесетичен низ в Ruby/Rails

Можете да представите шестнадесетичен идентификатор с основа, по-висока от 16 за да направи неговото низово представяне по-кратко. Ruby има вградена поддръжка за работа с бази от 2 до 36 .

b36 = '4b3fc1400de0690bf2000001'.hex.to_s(36)
# => "29a6dblglcujcoeboqp"

За да го конвертирате обратно в низ от 24 знака, можете да направите нещо подобно:

'%024x' % b36.to_i(36)
# => "4b3fc1400de0690bf2000001"

За да постигнете по-добро „компресиране“, можете да представите идентификатора в база, по-висока от 36 . Има Ruby библиотеки, които ще ви помогнат с това. all-your-base gem е една такава библиотека.

Препоръчвам база 62 представяне, тъй като използва само 0-9 , a-z и A-Z знака, което означава, че URL адресът е безопасен по подразбиране.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb заявка подмножество на масив

  2. добавете условие към резултата от най-новите стойности

  3. Mongo чака на 27017 дори след преинсталиране

  4. Намиране на първите N записа от масива

  5. Достъп до база данни за производство на метеори през 2016 г