node.js - 使用 PM2 集群模式部署的多个 API(Express Node JS)实例之间的竞争条件
问题描述
我使用Express JS开发了REST API端点,并使用PM2 集群模式部署在服务器上。目前有 10 个 API 项目实例在服务器上运行。
在一个端点中,我首先检查记录是否已经存在,如果不存在则插入新记录,否则更新同一记录。我在 API 项目中使用MongoDb和mongoose作为 ORM。
目前,当同时使用相同的参数调用端点两次时,将创建 2 条新记录。我希望它只创建 1 条记录,因为我正在检查 API,如果记录已经创建,那么不要再次插入它,只需更新相同的记录。
请建议解决此问题的方法,因为重复记录被插入 DB 。
解决方案
推荐阅读
- mysql - 如何将 phpmyadmin 连接到 mysql?
- python - 启动两个永无止境的 Python 脚本
- c# - c#WebApi如何对控制器操作是否使用具有特定参数的授权属性进行单元测试
- javascript - Node.js 请求中止
- python - 有没有办法在 Python 中显示每一列的类型?
- angular - 模板解析错误:无法绑定到“formGroup”,因为它不是“form”的已知属性。("
- html - 希望有一个消失并再次变得稳固但不会消失的代码
- python-3.x - 如何回到代码的开头?
- pic - PIC I2C PPS 配置
- vim - Vim:根据文件内容设置文件类型