如何创建node.js和mysql中未使用的随机数

时间:2018-06-08 04:48:04

标签: mysql node.js koa

我尝试使用以下代码

创建一个随机数
let randomnumber = (Math.random().toString().slice(-8))

我将检查mysql table是否有这个随机数,如果没有,这个数字将被插入表中,如果有,再次运行上面的代码,然后再次检查。像这样

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
 }

这是我的问题,我怎么能有效地做这个功能,这种方式我使用效率很低,有什么想法?

1 个答案:

答案 0 :(得分:0)

您可以使用函数生成并检查:

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()