我正在尝试使用此在线框架-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"
}
]
}]
}
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
这似乎是该工具的局限性。为了参考房屋中的用户,需要生成用户。因此,您的输出将因此生成包含用户的测试数组。
您可以尝试使用.build()管道过滤掉不需要的数据,并仅返回data.houses。
语法为:
mocker()
.schema('test', user, 1)
.schema('houses', house, 1)
.build(function(err, data){
return data.houses
})