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

a7qyws3x  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(312)

我尝试用下面的代码创建一个随机数

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
 }

这是我的问题,我如何才能有效地做这个功能,我使用的这种方式是非常低的效率,有什么想法吗?

ni65a41a

ni65a41a1#

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

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

相关问题