为URI生成唯一的字符串(JavaScript / NodeJS)

时间:2015-12-20 13:57:23

标签: javascript node.js mongodb mongoose ecmascript-6

我正在写一个网站,我想为每篇文章生成一个随机链接。 我希望链接是独一无二的。但我也想确保我可以拥有10万条带有独特链接的文章。 (我正在使用MongoDB - mongoose)。 示例链接:qw463253qqrASd。 符号最大数量:15。

TOP 100

P.S。:我有一个生成数字数组的函数。

1 个答案:

答案 0 :(得分:1)

查看mongoose-shortid模块。

var ShortId = require('mongoose-shortid');

var PostSchema = new Schema({
    title: String,
    url: {
        type    : ShortId,
        len     : 15,
        base    : 62,
        alphabet: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
        retries : 4, // Four retries on collision
        index   : true
    },
});

关于这个模块的一些警告:

  • 它没有非常积极地维持;
  • 目前拒绝使用mongoose版本4.x或更高版本;
  • 它产生的ID往往以一,二或三个零开始。

也许还有其他类似的模块。