作成中の Rails アプリのバックエンドとして MongoDB を使用しています。Mongo はデフォルトで、レコードの 24 文字の 16 進数 ID を生成してシャーディングを容易にするため、私の URL は次のようになります。
example.com/companies/4b3fc1400de0690bf2000001/employees/4b3ea6e30de0691552000001
これはあまりきれいではありません。Rails の URL 規則に固執したいのですが、これらの ID はデータベースにそのまま残します。これらの 16 進 ID をより多くの文字を使用して短いコレクションに圧縮することは、次のようになるため、満足のいく妥協案になると思います。
example.com/companies/3ewqkvr5nj/employees/9srbsjlb2r
次に、コントローラーで圧縮を逆にし、元の 16 進 ID を取得し、それを使用してレコードを検索します。
私の質問は、これらの ID を前後に変換する最良の方法は何ですか? もちろん、できるだけ短くしたいのですが、URLセーフで変換が簡単です。
ありがとう!