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

标签 mysql node.js koa

我尝试使用以下代码创建一个随机数

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/

相关文章:

node.js - 动态刷新 div,无需直接 DOM 操作

node.js - 无法通过 Koa 和 koa-body HTTPS POST 1.5 mb 的 json 对象。仅状态 413 生产

linux - fs.lstat() Enoent 错误的可能原因是什么?

java - 使用hibernate java mysql保存@Lob时出错

php - 在其他表中查找不匹配的 mysql 条目

php - MySQL SELECT 查询在 PHPmyadmin 中工作,而不是在 PHP 中

node.js - Node.js 的最佳 XMPP 客户端库

javascript - KOA 中的发电机

javascript - 在node.js koajs框架中设置两个不同的静态目录

mysql 8,工作台(8.0.11)在使用输入参数创建存储过程时崩溃