收藏
回答

怎么在云开发数据库中进行批量操作呢?

如题,有这样一个场景:"集合中有多条文档,每个文档内都有一个sum(Number)字段,然后再到另外一个集合的一条特定文档取出一个mul(Number)的特定字段,再让原先的多条文档内的sum值分别乘以mul值,再各自更新自己的sum值"。这样的需求有办法实现吗?

有没有大佬给我解答一下?


假设数据库里的结构是这样的,就是让testOne内的每个sum各自乘以mul,然后各自更新自己的sum字段的值

最后一次编辑于  2019-11-03
回答关注问题邀请回答
收藏

5 个回答

  • 禾店科技
    禾店科技
    2021-05-07

    for循环是必须的,完成整个操作需要读取两次、写入两次数据库,一个流程需要操作四次数据库,有点频繁。

    2021-05-07
    有用 1
    回复
  • 老张
    老张
    2019-11-03

    写个云函数,都collection.get读到JS里来,计算完后再collection.update回去。

    2019-11-03
    有用 1
    回复
  • 罗梅光
    罗梅光
    2019-11-03

    for循环是必须的,完成整个操作需要读取两次、写入两次数据库,一个流程需要操作四次数据库,有点频繁。

    2019-11-03
    有用 1
    回复 35
    • 121
      121
      2019-11-03
      每天固定每条文档处理一次,读取两次,写入一次吧,就更新每个文档的sum值就行
      2019-11-03
      回复
    • 罗梅光
      罗梅光
      2019-11-03回复121
      不是“各自更新自己的sum值”吗?
      2019-11-03
      回复
    • 121
      121
      2019-11-03
      对 就这个更新
      2019-11-03
      回复
    • 121
      121
      2019-11-03
      打算用定时触发器来弄
      2019-11-03
      回复
    • Stephen
      Stephen
      2019-11-03
      for 循环都搞出来了,神人
      2019-11-03
      回复
    查看更多(30)
  • 121
    121
    2019-11-03

    谢谢大佬们的解答!

    2019-11-03
    有用
    回复
  • _人世间
    _人世间
    2019-11-03

    能不能用for循环

    2019-11-03
    有用
    回复 6
    • 121
      121
      2019-11-03
      数据量大的时候呢?
      2019-11-03
      1
      回复
    • _人世间
      _人世间
      2019-11-03回复121
      比如我曾经做过更改一个集合几百条数据的某个字段的更改,我就是用for循环,调用相应的次数的云函数请求,现在云函数并发已经没有次数限制了。
      2019-11-03
      回复
    • 121
      121
      2019-11-03
      性能怎么样。。。
      2019-11-03
      回复
    • _人世间
      _人世间
      2019-11-03回复121
      当时修改了二百多条吧,其实就是请求云函数的时间(并发请求嘛,不到一秒;)
      2019-11-03
      回复
    • 121
      121
      2019-11-03
      并发请求云函数进行更新?
      2019-11-03
      回复
    查看更多(1)
登录 后发表内容
问题标签