首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Node shortid / nanoid并检查数据库中的冲突

使用Node shortid / nanoid并检查数据库中的冲突
EN

Stack Overflow用户
提问于 2020-11-29 04:52:41
回答 1查看 227关注 0票数 0

我正在做一个自我教育项目,在Node中构建一个URL缩写程序。我打算使用shortid,但它已被弃用,所以我切换到nanoid。我担心的是最终与DB中生成的ID和现有ID发生冲突的可能性(通过Knex)。这个问题并不完全是“加密级的”,更多的是应用程序崩溃的功能问题,因为数据库中已经存在一个新的短URL ID。我提出了以下假设的解决方案(不是我的实际代码!)。它看起来像是正确的(最好的,高效的,漂亮的,等等)这样做的方式吗?

代码语言:javascript
复制
var shortId = nanoid();
while (knex.('urls').where('shortID',shortId).first() != NULL) {
 shortId = nanoid();
}
EN

回答 1

Stack Overflow用户

发布于 2020-11-29 04:58:30

您可以基于时间戳创建ID,这就是MongoDB使用其id索引机制的方式。

代码语言:javascript
复制
new Date().valueOf() //1606597014945

您可以使用它并添加字母,您可以将其缩小为另一种字母机制。希望对您有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65054334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档