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

时间:2012-10-09 09:40:53

标签: node.js objectid

我需要在节点js中随机生成objectid。有什么方法可以创建。

2 个答案:

答案 0 :(得分:27)

如果您的意思是MongoDB ObjectID,请尝试以下方法:

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

var objectId = new ObjectID();

答案 1 :(得分:0)

生成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;
}