问题描述
有个api的功能是:当前提交的信息是b且数据库已经有了a信息,即触发指定任务c(a和b不分顺序,只要是组合存在即触发c)。
使用的数据库是mongodb
问题出现的环境背景及自己尝试过哪些方法
但是这个api请求处理比较耗时,a和b同时请求api的话,在逻辑判断时b没有找到a,a也没有找到b,然后大家各自同时绕过判断条件进行了入库,没有触发指定的任务c
你期待的结果是什么?
请教如何在费时的异步时,对a和b请求进行处理呢,比如加程序锁和队列尝试这种?
具体技术方案希望指点,谢谢。
用mongodb的原子操作findAndModify应该是可以的
new传false读取修改前的数据,来判断是否符合条件