Nodejs生成 Mongodb的ID问题
发布于 12 年前 作者 iln168 12794 次浏览 最后一次编辑是 8 年前

请问谁知道,Nodejs如何为Mongodb或数据生成一个ID 有点像C#的GUID那个方法。

8 回复

GUID生成一个36位的 不重复ID

Nodejs估计是没有提供,我自己用写了一个方法,

function GUID(){
    var S4 = function ()
    {
        return Math.floor(
            Math.random() * 0x10000 /* 65536 */
        ).toString(16);
    };

    return (
        S4() + S4() + "-" +
            S4() + "-" +
            S4() + "-" +
            S4() + "-" +
            S4() + S4() + S4()
        );
}

如果有更好的方法,多多指教

我是直接用mongo的objectId,不知道可不可以啊,坐等专家回复

去查看mongodb的api去,mongo允许你使用除了_id之外的作为主键,如果你不指定主键类型,他依然默认按照ObjectId的生成方式,除非你指定其他类型。甚至还可以做自增长的id类型,但这完全取决于你的代码。

@a272121742 兄弟你就直接放代码吧,如何有api发个连接,我们很初学一般来说id用Nodejs来生成好一点啊

@iln168 新手需要代码就会被依赖倒,自己看api能学到更多。而且这种自增长/自定义的id网上很多,我不喜欢做搬运,谢谢!

本人创业公司CTO/技术总监,刚刚开源一个Javasript/nodejs 版本的高性能序列生成器,已使用多年,可以最快速度在生产集群环境下生成唯一数字主键,稳定,高速,简短。

请参考 mysequence home

npm install mysequence

npm install node-uuid

回到顶部