如何将mongodb ID缩短到更容易解析语法的URL中。该字符串在当前迭代中太长。
Base64不错,但仍然太长。我正在寻找7个以下字符范围内的更多内容。
我希望能够在node.js和浏览器中对其进行编码/解码。
从请求中解析ObjectId并不困难(因此我不确定为什么会出现问题?)。如果目标是创建可键入的URL,那么拥有更短且更“友好”的URL将很有价值。
您不能在分片的MongoDB设置中采用保证唯一的12个字节的数字,并将其压缩为少于12个字节,并且保证它是唯一的(例如,您提到的7个字符以下)。
从文档中,MongoDB ObjectId包括:
因此,您要么需要牺牲ObjectId的一部分(并因此进行分片),要么设计索引的替代ID创建格式。
虽然您可能会散列ID,但再次可能会产生您希望为其编码的冲突(再次,您不能将12个字节缩减为4个字节并保证唯一性)。并且,如果可能发生冲突(并且减少可用位数的总和),那么无论如何您都将需要某种二级表(并且需要创建一个索引来将生成的ID转换为ObjectId)
。
结果选项:
(尚不清楚为什么浏览器需要进行此转换-为什么要具有文档的ObjectID?)
问题内容: 我对JavaScript中的字符串操作不太满意,我想知道如何在不删节的情况下缩短字符串。我知道如何使用子字符串,但不知道indexOf或其他任何很好的方法。 说我有以下字符串: 我想将其缩减为10个字符,但是如果它不以空格结尾,请完成该单词。我不希望字符串变量看起来像这样: “这是我不能忍受的长字符串” 我希望它在出现空格之前将单词结束。 问题答案: 如果我理解正确,则希望将字符串缩短
我有一个字符串: 它需要缩短,所以看起来像这样: 所以基本上,它需要使用所有重复的字符,并写下它们重复的次数,而不是打印它们。我设法做到了一半: 但这只适用于重复的字符,而不是模式。我可以通过在字符串中找到ab模式来做到这一点,但这需要对每一个可能的字符串都是可行的。有人遇到过类似的事情吗?
问题内容: 在Google文档(https://developers.google.com/url- shortener/v1/getting_started )中,要使用Google URL缩短器,我应该发出如下请求: POST https://www.googleapis.com/urlshortener/v1/url 内容类型:application / json {“ longUrl”:“
以前,我使用下面的动态链接在我的应用程序中启动一个想要的页面 然而,这有一个缺点,对于没有安装我的应用程序的用户。对于没有安装我的应用程序的用户,这是当他点击链接时发生的情况 转到Google Play商店 安装应用程序。 启动应用程序。将转到应用程序的第一页,而不是在“深度链接”中指定的所需页面。 后来,我意识到Firebase动态链接可以解决我的问题。如果我使用下面的URL,一切正常。 对于第
我已经从CodeIgniter发送了一封电子邮件,但我不知道为什么我的电子邮件会被截断,或者它会被包含在带有问号的黑钻石中。这是真的,我使用波斯字符,但标题是utf-8无论如何。下面是发送电子邮件的CodeIgniter代码: 只要注意主题中的非拉丁字符:
问题内容: 我正在寻找一个PHP函数,该函数可从字符串或文件中创建短哈希,类似于那些诸如tinyurl.com之类的URL缩短网站。 哈希不得超过8个字符。 问题答案: URL缩短服务宁可使用自动递增的整数值(例如补充数据库ID),并使用Base64或其他编码对其进行编码,以使每个字符具有更多信息(64而不是仅10个数字)。