MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Kompresowanie ciągu szesnastkowego w Ruby/Rails

Możesz reprezentować szesnastkowy identyfikator w bazie wyższej niż 16 aby skrócić jego reprezentację w postaci ciągu. Ruby ma wbudowaną obsługę pracy z bazami z 2 do 36 .

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

Aby przekonwertować go z powrotem na 24-znakowy ciąg, możesz zrobić coś takiego:

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

Aby uzyskać lepszą „kompresję”, możesz przedstawić id w bazie wyższej niż 36 . Istnieją biblioteki Ruby, które ci w tym pomogą. all-your-base klejnot jest jedną z takich bibliotek.

Polecam bazę 62 reprezentacja, ponieważ używa tylko 0-9 , a-z i A-Z znaków, co oznacza, że ​​domyślnie adres URL jest bezpieczny.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $rozwiń obiekt w ramach agregacji

  2. Usuwanie klucza/wartości z istniejącego wpisu MongoDB

  3. MongoError:getaddrinfo ENOTFOUND undefined undefined:27017

  4. Który z CouchDB lub MongoDB odpowiada moim potrzebom?

  5. $unset jest pusty. Musisz określić pole takie jak:{$unset:{<pole>:...}}