MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Nén một chuỗi hex trong Ruby / Rails

Bạn có thể đại diện cho một id hệ thập lục phân trong một cơ sở cao hơn 16 để làm cho biểu diễn chuỗi của nó ngắn hơn. Ruby có hỗ trợ tích hợp để làm việc với các cơ sở từ 2 lên đến 36 .

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

Để chuyển nó trở lại chuỗi 24 ký tự, bạn có thể làm như sau:

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

Để đạt được "độ nén" tốt hơn, bạn có thể đại diện cho id trong cơ sở cao hơn 36 . Có những thư viện Ruby sẽ giúp bạn điều đó. all-your-base gem là một trong những thư viện như vậy.

Tôi khuyên bạn nên sử dụng cơ sở 62 đại diện vì nó chỉ sử dụng 0-9 , a-zA-Z có nghĩa là nó là URL an toàn theo mặc định.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Các lệnh MongoDB cơ bản là gì và cách sử dụng chúng?

  2. MongoDB với C # - truy vấn với vị từ được tạo động

  3. Groovy không thể tìm thấy hàm tạo phù hợp?

  4. Mongoose QueryStream kết quả mới

  5. Mongoose:nguyên tử FindOne-Or-Insert (), không cập nhật phiên bản hiện có nếu tìm thấy