收藏
回答

云开发 如何批量修改云数据库中集合的某一个字段的类型?

如题,使用了云开发,集合里的一个字段类型目前是String,想改成Number,不然聚合操作时sum()函数无法使用...

所以现在想修改下这个集合中这个字段的类型,但是因为已经有很多数据了,一个个修改不显示,大佬们有什么办法能够批量修改的啊,求贴一份代码Orz...

回答关注问题邀请回答
收藏

3 个回答

  • 跨商通
    跨商通
    2021-03-06

    没有办法。

    我们的方法:

    导出数据库,在excel中打开,改成数字型,导入数据库。

    2021-03-06
    有用 2
    回复 5
    • Alvin
      Alvin
      2021-03-06
      这个能实现,就是得半夜停服更新...
      2021-03-06
      回复
    • Life
      Life
      2021-03-07
      数据库控制台直接批量修改不是更好?
      2021-03-07
      回复
    • 跨商通
      跨商通
      2021-03-07回复Life
      建议去实践一下。
      2021-03-07
      回复
    • Alvin
      Alvin
      发表于小程序端
      2021-03-10回复Life
      如何操作?能给个代码吗?
      2021-03-10
      回复
    • 马天慧
      马天慧
      2021-10-16回复Alvin
      hello,请问解决了吗?谢谢!
      2021-10-16
      回复
  • 姜歌
    姜歌
    2022-05-13

    我也碰到这个问题。导入数据没注意,结果数字全部自动变为 number型了,我需要变更为string

    2022-05-13
    有用
    回复
  • 郑旭东
    郑旭东
    2021-03-07

    我干过写代码轮询一条一条修改,百万记录还可以接受,你上千万上亿的话另说。

    另外如果你不改可能也能用,用aggregate,project新建一个字段,里面用一些函数,比如乘以1什么的,看看有没有办法转一个number字段出来。

    2021-03-07
    有用
    回复 5
    • Alvin
      Alvin
      发表于小程序端
      2021-03-10
      轮询一条条修改的代码能给个示例吗?轮询修改没有思路……
      2021-03-10
      回复
    • 郑旭东
      郑旭东
      2021-03-10回复Alvin
      这有啥示例的,就是用云函数查出符合更新条件的记录,再循环逐一更新呗。唯一要绕一下的是云函数60秒超时问题。每运行一次控制在60秒以内强制结束,然后用云函数定时程序不停跑
      2021-03-10
      回复
    • Alvin
      Alvin
      2021-03-10回复郑旭东
      我主要是不知道咋更新...取出来记录,比如字段是viewNum='222',取出来用parseInt(viewNum),再update回去?
      2021-03-10
      回复
    • 郑旭东
      郑旭东
      2021-03-10回复Alvin
      我一般用 乘以1 viewNum = viewNum * 1
      2021-03-10
      回复
    • Alvin
      Alvin
      发表于小程序端
      2021-03-11回复郑旭东
      好的!我试试!谢谢哈
      2021-03-11
      回复
登录 后发表内容
问题标签