b***@163.com
b***@163.com
  • 发布:2025-04-25 16:46
  • 更新:2025-04-26 11:12
  • 阅读:98

不支持bulkWrite批量修改

分类:uniCloud

业务需求是:如果一台机器绑定了N个零部件,那么生产一台机器就需要扣减N次库存。现在使用bulkWrite不起作用。那么就需要循环遍历访问N次数据库,如果有M个用户同时扣减库存操作,就会向数据库发送N*M次请求。假设20个用户同时操作机器扣减库存,每个机器都有50个零部件,就会有1000个并发数据库请求连接。这看起来很恐怖呀,。想不通为什么不支持bulkWrite呢?而且循环遍历还需要考虑事务问题,那现在这种情况该用什么方案呢

await db.collection('parts').bulkWrite(bulkOps);  
[{  
    "updateOne": {  
        "filter": {  
            "_id": "680a1abfe46ff36aedac8b5a"  
        },  
        "update": {  
            "$set": {  
                "stock_quantity": 33,  
                "is_warning": true  
            }  
        }  
    }  
}, {  
    "updateOne": {  
        "filter": {  
            "_id": "680a1ab4e46ff36aedac8ac4"  
        },  
        "update": {  
            "$set": {  
                "stock_quantity": 22,  
                "is_warning": false  
            }  
        }  
    }  
}, {  
    "updateOne": {  
        "filter": {  
            "_id": "680a1aa918322a1179878204"  
        },  
        "update": {  
            "$set": {  
                "stock_quantity": 11,  
                "is_warning": true  
            }  
        }  
    }  
}]
2025-04-25 16:46 负责人:无 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

不支持 bulkWrite 批量写入

  • b***@163.com (作者)

    我对云函数的理解并不深刻,那么我请教一下,并发成百上千个数据库访问,云函数执行会有问题吗?如果每个数据库请求阻塞等待结果,单个云函数运行有时间限制吗?

    2025-04-26 13:36

  • b***@163.com (作者)

    回复 b***@163.com: serverless的云数据库访问连接并发数有上限标准吗,还是说会动态扩展无需关心并发数

    2025-04-26 13:40

要回复问题请先登录注册