要和守约赴约
要和守约赴约
  • 发布:2022-05-11 11:12
  • 更新:2022-05-12 14:35
  • 阅读:453

更新:云函数不支持批量更新,只能循环更新

分类:HBuilderX

实现场景:我需要对一个部门的所有职员进行职位变动,我在前端对部分人的职位进行调整后以array的形式返回后台云函数。

我的期许:MySQL有 on duplicate update 用于大量数据上传时对 id 重复的数据进行覆盖更新,对不存在的数据进行添加。但是我使用uniapp暂未发现合适的类似的方式

提问:uniapp的多条数据批量更新方式,是否可以效仿上述期许。

尝试结果:由于仅使用add函数没办法处理重复数据更新导致一直报错:
"transaction error"
10:56:28.334 [本地调试]Error: errCode: InternalServerError | errMsg: Bulk write operation error on server 192.168.146.97:3717. Write errors: [BulkWriteError{index=0, code=11000, message='E11000 duplicate key error ...

我的代码:
const transaction = await db.startTransaction()
try {

            //todo  这里需要考虑 别人恶作剧 创建N多的 permissions  
            let ret = await db.collection('safe-box-role')  
                .add(params.data)  
                // .on DUPLICATE KEY UPDATE;  
            await transaction.commit();  
            return res;  

        } catch (e) {  
            await transaction.rollback()  
            console.error(`transaction error`, e);  
            return res_rollback();  
        }
2022-05-11 11:12 负责人:无 分享
已邀请:
要和守约赴约

要和守约赴约 (作者)

params.data是一个Object 数据对象,正常上传没有重复唯一定位符 _id 数据是可以成功批量添加的

要和守约赴约

要和守约赴约 (作者)

更新一下,昨天查询了论坛,今年四月有相似问题得到回复只能循环更新,不支持批量更新

该问题目前已经被锁定, 无法添加新回复