我正在做一个自我教育项目,在Node中构建一个URL缩写程序。我打算使用shortid,但它已被弃用,所以我切换到nanoid。我担心的是最终与DB中生成的ID和现有ID发生冲突的可能性(通过Knex)。这个问题并不完全是“加密级的”,更多的是应用程序崩溃的功能问题,因为数据库中已经存在一个新的短URL ID。我提出了以下假设的解决方案(不是我的实际代码!)。它看起来像是正确的(最好的,高效的,漂亮的,等等)这样做的方式吗?
var shortId = nanoid();
while (knex.('urls').where('shortID',shortId).first() != NULL) {
shortId = nanoid();
}发布于 2020-11-29 04:58:30
您可以基于时间戳创建ID,这就是MongoDB使用其id索引机制的方式。
new Date().valueOf() //1606597014945您可以使用它并添加字母,您可以将其缩小为另一种字母机制。希望对您有所帮助:)
https://stackoverflow.com/questions/65054334
复制相似问题