跳到主要内容
CNode

Nodejs生成 Mongodb的ID问题

社区
Iiln168发布于 14 年前最后回复 11 年前
8139690

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

查看回复

回复 (8)

M
microlv#811 年前

npm install node-uuid

H
henryleu#711 年前

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

请参考 mysequence home

npm install mysequence

A
a272121742#614 年前
引用 cony138我是直接用mongo的objectId,不知道可不可以啊,坐等专家回复

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

I
iln168#514 年前
引用 cony138我是直接用mongo的objectId,不知道可不可以啊,坐等专家回复

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

A
a272121742#414 年前
引用 cony138我是直接用mongo的objectId,不知道可不可以啊,坐等专家回复

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

C
cony138#314 年前

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

I
iln168#214 年前

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

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

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

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

I
iln168#114 年前

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

参与回复

登录后即可参与回复。登录