Per effettuare test automatizzati in Node.js può essere utile generare un ID di MongoDB sintatticamente valido.

La soluzione è la seguente:


'use strict';

const generateMongoId = () => {
    let timestamp = (new Date().getTime() / 1000 | 0).toString(16);
    let template = '%'.repeat(16);
    return timestamp + template.replace(/[%]/g, () => {
        return (Math.random() * 16 | 0).toString(16);
    }).toLowerCase();
};

module.exports = generateMongoId;

Esempio d'uso:


'use strict';

const generateMongoId = require('./generateMongoId');

console.log(generateMongoId()); // '5a6c0a46818af801f889ca85'