2***@qq.com
2***@qq.com
  • 发布:2021-04-24 19:51
  • 更新:2021-11-26 10:47
  • 阅读:533

【报Bug】uniCloud循环更新BUG,希望大佬给个有效方案或者解决

分类:uniCloud

产品分类: uniCloud/App

示例代码:

userList.data.forEach(async (e) => {
await db.collection("shareholders").where({
_id: '608268eba3a24100014e74e0'
}).update({
username: "divid11"
})
})

封装一个异步函数。调用也无效。各种方法都用了. 用.doc 更新也没用。用条件更新也没用。set全部更新也无效

操作步骤:

测试了很多遍。以为是传参问题。结果给成固定值,再循环外测试有效。在里面无效

预期结果:

没有结果

实际结果:

再循环内无效。循环外有效修改

bug描述:

循环更新数据时不执行修改语句,数据库没有得到有效的更改。
修改语句再循环外的时候。有效的更新了数据库的数据

2021-04-24 19:51 负责人:DCloud_uniCloud_WYQ 分享
已邀请:
2***@qq.com

2***@qq.com (作者) - life

无人问津的 问题吗?大佬们,没有遇到过此类问题吗,希望能够得到有效的解决方案。谢谢

2***@qq.com

2***@qq.com (作者) - life

用递归 解决了此方法。。感谢node.js 给我带来的困扰

  • 拓荒

    forEach 每次都会执行那个async函数,并不是循环执行函数里面的逻辑,换成for(let i = 0; ...)这种 外面包一层saync函数,循环体里面执行await就可以

    2021-04-26 14:11

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

把forEach改成for循环即可,async和forEach是没法这么搭配使用的

1***@qq.com

1***@qq.com

求代码,大佬

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