Node.js 如何在节点js中随机生成objectid

Node.js 如何在节点js中随机生成objectid,node.js,objectid,Node.js,Objectid,我需要在node js中随机生成objectid。是否有任何创建方法。如果您指的是MongoDB objectid,请尝试以下操作: var ObjectID = require('mongodb').ObjectID; var objectId = new ObjectID(); 生成mongoDB对象id的另一种方法是 function objectId() { const os = require('os'); const crypto = require('crypt

我需要在node js中随机生成objectid。是否有任何创建方法。

如果您指的是MongoDB objectid,请尝试以下操作:

var ObjectID = require('mongodb').ObjectID;

var objectId = new ObjectID();

生成mongoDB对象id的另一种方法是

function objectId() {
    const os = require('os');
    const crypto = require('crypto');

    const secondInHex = Math.floor(new Date()/1000).toString(16);
    const machineId = crypto.createHash('md5').update(os.hostname()).digest('hex').slice(0, 6);
    const processId = process.pid.toString(16).slice(0, 4).padStart(4, '0');
    const counter = process.hrtime()[1].toString(16).slice(0, 6).padStart(6, '0');

    return secondInHex + machineId + processId + counter;
}

您所说的
objectid
是什么意思
Math.random()
?24位id“5073c76a23ce3abf0f000001”是这样的。我不知道这个12字节
objectid
是什么,但您可以尝试获取随机数md5的子字符串。以下是MongoDB生成objectid的方式: