NodeJs如何实现异步锁

问题描述

有个api的功能是:当前提交的信息是b且数据库已经有了a信息,即触发指定任务c(a和b不分顺序,只要是组合存在即触发c)。
使用的数据库是mongodb

问题出现的环境背景及自己尝试过哪些方法

但是这个api请求处理比较耗时,a和b同时请求api的话,在逻辑判断时b没有找到a,a也没有找到b,然后大家各自同时绕过判断条件进行了入库,没有触发指定的任务c

你期待的结果是什么?

请教如何在费时的异步时,对a和b请求进行处理呢,比如加程序锁和队列尝试这种?

具体技术方案希望指点,谢谢。


海绵宝宝撒
浏览 1296回答 1
1回答

守着一只汪

用mongodb的原子操作findAndModify应该是可以的new传false读取修改前的数据,来判断是否符合条件
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Node.js