node.js - 如何防止并发操作产生相同的ID?
问题描述
我正在使用 Node.js 和 MongoDB 构建一个应用程序。该应用程序为它收到的各种请求生成唯一的 ID。该应用程序通过在数据库中查询该特定 id 来检查该 id 是否唯一。如果找到条目,则应用程序会生成另一个 id 并重复该过程,如果没有,则应用程序使用初始 id。
如果对应用程序发出并发请求,则可能会出现问题。两个请求可以接收相同的 id 并同时检查重复项。他们俩都看到 id 是新的并继续使用它。我是 Node.js、MongoDB、Mongoose 和一般编程的新手。我该如何解决这个问题?
编辑:ID 很短并且使用有限的字母表。使用 Mongo 的 ObjectId 不是一个选项,检查重复项也不是我可以跳过的。
解决方案
推荐阅读
- arduino - Adafruit mqtt 库中的 mqtt.ping()
- c++ - 为什么在向量初始化时会出现此错误?
- c++ - 调试时授予 Xcode 麦克风权限
- javascript - 如何防止 onInput 在动态组件初始化期间触发?
- netsuite - 尝试删除或添加新的子列表行时返回错误
- spring-boot - 注销后可以显示一个登录页面
- c# - 无法从 C# .NET Core 应用程序连接 Firebase Cloud Firestore
- javascript - 将类与函数绑定
- python-3.x - 找不到满足要求 tensorflow 的版本(来自版本:无)
- matlab - 检查每个矩阵元素是否不同