我在想的是,我将拥有一个底层的二进制ID,所有长度相同,例如256位。
10101010101000.... up to 256 points
然后,我将可以通过以任意字母编码的URL获得 slug ,例如:
所以它看起来像这样:
/123123123 -> fetches a record with _id == 10101010... something
或者我们可以使用其他基数代替10位数字,例如26个字母的字母:
/AEFCZ... -> fetches the same record with _id == 10101010... something
问题是如何转换( a → b ),其中 a 是URL段,而 b 是二进制表示形式。
我感到困惑的地方(以及我所缺少的)是理解两者之间的关系。我看不出您如何从一个人走到另一个人,但是我知道一定有可能。
想知道它是否像将每个子段/二进制对表示为BigInt一样简单(复杂吗?),请执行以下操作:
或者那甚至行得通。或者,如果有更好的方法,因为我什至不知道如何实现BigInts,因此不确定是否有必要学习。
最终结果是,我可以使用任何基本编码的字符串以及想要的任何字母从数据库中获取记录。我首先将该段转换为某种形式,然后使用该形式来获取二进制表示形式,该形式可以用作例如在SQL中进行查找的键。
想知道如何处理/完成这种事情。