我尝试使用以下代码创建一个随机数
let randomnumber = (Math.random().toString().slice(-8))
我会检查mysql表
是否有这个随机数,如果没有,这个数字将被插入到表中,如果有,再次运行上面的代码,并再次检查。像这样
await mysqlModel.checkNumberExit([randomnumber])
.then(async(results) => {
if (results.length === 0) {
//doesn't exist, do something
} else {
//exist, repeat until the random number doesn't exist
}
这是我的问题,我怎样才能有效地完成这个功能,我使用的这种方式效率很低,有什么想法吗?
最佳答案
您可以使用函数来生成和检查:
function getRandomNumber() {
let randomnumber = Math.floor(Math.random(1000,9999)*100000000);
mysqlModel.find({"fieldName":randomnumber})
.then(res => {
if(!res) {
//doesn't exist, do something
}else{
getRandomNumber();
}
}).catch(err => {
//err
});
}
使用以下方式调用该函数:
getRandomNumber()
关于mysql - 如何创建在node.js和mysql中未使用的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50753537/