mysql - 如何创建一个在 node.js 和 mysql 中未使用的随机数
问题描述
我尝试使用以下代码创建一个随机数
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
}
这是我的问题,我怎样才能有效地完成这个功能,我使用的这种方式效率很低,有什么想法吗?
解决方案
您可以使用函数来生成和检查:
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()
推荐阅读
- sql - 比较 JSON 值并识别差异 -Snowflake SQL
- javascript - React Native:lodash debounce 不起作用?
- rust - 在冲突的特征实现上选择首选实现(使用负边界)
- memory-management - Julia中的预分配
- azure-purview - 我可以在一个 Azure Purview 帐户中注册多个租户吗?
- delphi - Firemonkey:如何在画布上仅绘制一个点
- c# - 如何更正 Azure 管道中的包版本名称并删除构建 ID
- python - 熊猫中的字符串替换方法给出了意想不到的结果
- javascript - 我创建了一个扩展,但是加载时找不到依赖项
- javascript - 视频循环和暂停