使用Node.js生成数百万个模拟数据

时间:2018-12-13 04:33:12

标签: node.js

  1. 列表项

我正在尝试使用模拟数据生成器创建数百万个模拟数据,我已经安装了此节点模块npm install mocker-data-generator

我写了下面的脚本来生成100000条记录,当我尝试执行该文件时,我遇到了以下错误:

mockData.js

var mocker = require('mocker-data-generator').default
var fs = require('fs');
var cat = {
    id: {
        chance: 'guid'
    },
    name: {
        faker: 'name.firstName'
    },
    lname: {
        faker: 'name.lastName'
    }

};

var json = JSON.stringify(mocker().schema('users', cat, 20000));

fs.writeFile('myjsonfile.json', json, 'utf8', fileWritten);

function fileWritten() { console.log('json file saved'); }

执行命令: node mockData.js

错误:

 (node:13420) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated.

我想将这100000个文件写入文件,如何在此脚本中实现它。我遵循了here

中的示例

我是Node.js的新手-刚刚开始探索-如果有人可以帮助我解决此问题,这将非常有用。预先感谢。

2 个答案:

答案 0 :(得分:1)

我认为您有两个问题,第一个是您的导入语句失败,或者您尝试使用以下替代方法:

var mocker = require('mocker-data-generator').default

第二,您打算将生成的模拟数据写入文件,您将需要使用'fs'节点软件包:

var fs = require('fs');
fs.writeFile('myjsonfile.json', mockedJSONData, 'utf8', callback);

在写入文件后将“回调”更改为要调用的函数。

答案 1 :(得分:1)

更新: 这将生成数据并将其保存在文件中。

在这里,我们首先生成1万个模拟数据,然后将这些数据保存在名为myjsonfile.json的文件中。

var mocker = require('mocker-data-generator').default;
const util = require('util');
const fs = require('fs');

var cat = {
    id: {
        chance: 'guid'
    },
    name: {
        faker: 'name.firstName'
    },
    lname: {
        faker: 'name.lastName'
    }

};

mocker()
    .schema('cat', cat, 10000)
    .build((err, data) => {
        if (err) {
            console.log(err);
        } else {
            // console.log(util.inspect(data, { depth: 10 }))
            fs.writeFile('myjsonfile.json', JSON.stringify(data), 'utf8', (err) => {
                if (err) {
                    console.log(err);
                } else {
                    console.log('Done');
                }
            });
        }
    })