根据项目需要 需要创建500万数据,以满足业务场景:
由于mongodb脚本使用的是js语言,所以需要编写一个js脚本:
for (var i = 0; i < 5000000; i++) {
var identificationTime = "2021"+"-0"+Math.ceil(Math.random()*9)+"-"+(Math.ceil(Math.random()*19)+9)+" "+(Math.ceil(Math.random()*14)+9)+":"+(Math.ceil(Math.random()*50)+9)+":"+(Math.ceil(Math.random()*50)+9);
var createDate = identificationTime.split(" ")[0];
db.getCollection("test-station4").insert( {
jkmRecordId: "61b16f60bcc4352712003135"+i,
regionName: i+"厚德载物"+i,
snapUrl: "http://124.70.17.117:27777/file/down/202112-956720a45c4c416799aa1a82fb45b4fd.jpg",
recognizeFlag: Math.ceil(Math.random()*2) === 1 ? true : false,
deviceSn: String(456),
deviceName: i+"自强不息"+i,
cardNo: "3412**********0458",
uuid: NumberLong("1468775476498")+i,
collectionName: "test-station4",
personName: i+"君子徐"+i,
faceUrl: "http://124.70.17.117:27777/file/down/202112-6ca108039006464c8a7af138c0301b07.jpg",
areaCheckCode: "1",
regionId: "784",
phone: i+"0"+i,
similarity: 85,
customerId: "9516303150"+i,
temperature: Math.ceil(Math.random()*2)+34,
identificationTime: identificationTime,
inoutType: NumberInt("0"),
verifyType: "0",
status: (Math.ceil(Math.random()*3)-1),
createDate: createDate,
personType: "3",
dbIndex: "test-station4"
} );
}
脚本使用for循环循环创建数据,数据以json键值对形式存储。其中,时间这些字段为了满足真实场景,使用随机值。mongodb数据的id,系统会自动创建,脚本无需关注。