在使用JavaScript的模拟数据生成器上需要帮助

时间:2018-12-24 00:44:18

标签: javascript node.js

我正在尝试使用此在线框架-https://github.com/danibram/mocker-data-generator

生成模拟数据

我想模拟一个在现有JSON元素中重复的元素数组。

这是我的代码:

var user = {
    year: {
        chance: 'guid'
    },
    age: {
        faker: 'name.findName'
    },
    email: {
        faker: 'internet.email'
    }
};
var house = {
    mateIds: {
        hasMany: 'test',
        max: 5,
        min: 1,
    }
};

mocker()
    .schema('test', user, 1)
    .schema('houses', house, 1)

使用此在线编辑器获取输出:https://danibram.github.io/mocker-data-generator/#unique

但是我期望输出如下:在我的实际输出中,我得到了一个 test 数组元素,我想从输出中删除它。

{
    "houses": [{
        "mateIds": [{
                "year": "155f7b10-4c60-5dfd-8a71-9e4a9a081ea4",
                "age": "Sheridan O'Reilly",
                "email": "Rebekah69@hotmail.com"
            },
            {
                "year": "155f7b10-4c60-5dfd-8a71-9e4a9a081ea4",
                "age": "Sheridan O'Reilly",
                "email": "Rebekah69@hotmail.com"
            },
            {
                "year": "155f7b10-4c60-5dfd-8a71-9e4a9a081ea4",
                "age": "Sheridan O'Reilly",
                "email": "Rebekah69@hotmail.com"
            },
            {
                "year": "155f7b10-4c60-5dfd-8a71-9e4a9a081ea4",
                "age": "Sheridan O'Reilly",
                "email": "Rebekah69@hotmail.com"
            }
        ]
    }]
}

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

这似乎是该工具的局限性。为了参考房屋中的用户,需要生成用户。因此,您的输出将因此生成包含用户的测试数组。

您可以尝试使用.build()管道过滤掉不需要的数据,并仅返回data.houses。

语法为:

mocker()
    .schema('test', user,  1)
    .schema('houses', house, 1)
    .build(function(err, data){
        return data.houses
    })