MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mengompresi string hex di Ruby/Rails

Anda dapat mewakili id ​​heksadesimal dalam basis yang lebih tinggi dari 16 untuk membuat representasi string lebih pendek. Ruby memiliki dukungan bawaan untuk bekerja dengan basis dari 2 hingga 36 .

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

Untuk mengubahnya kembali menjadi string 24 karakter, Anda dapat melakukan sesuatu seperti ini:

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

Untuk mencapai "kompresi" yang lebih baik, Anda dapat mewakili id ​​di basis lebih tinggi dari 36 . Ada perpustakaan Ruby yang akan membantu Anda dengan itu. all-your-base permata adalah salah satu perpustakaan tersebut.

Saya merekomendasikan basis 62 representasi karena hanya menggunakan 0-9 , a-z dan A-Z karakter yang berarti URL aman secara default.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. docker-compose menekan keluaran mongodb

  2. Bagaimana cara mencocokkan frasa yang tepat dengan string dinamis dalam indeks teks Mongodb?

  3. Bagaimana cara (DI MANA) kolom =kolom di Mongo?

  4. Gunakan hasil dari kueri sebelumnya di kueri lain di mongodb

  5. Mendapatkan com.mongodb.MongoException$DuplicateKey di mongodb dengan java menggunakan upsert