收藏
回答

云开发该怎么更新数据库(嵌套数组)里匹配的一条数据?

这是数据库中其中一个集合,

我想通过 _id 找到这个集合 然后更新 Course.title=="测试考试专用" 的这个数组的Status的值

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

2 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-12-24

    name唯一可以更新一条

    2021-12-24
    有用 1
    回复 3
    • 游戏结束べ
      游戏结束べ
      2021-12-24
      学到了
      2021-12-24
      回复
    • WwJD
      WwJD
      2021-12-24
      学到了!
      2021-12-24
      回复
    • 措不及防
      措不及防
      2023-09-30
      学到了!白求恩列宁哪里领(调皮)
      2023-09-30
      回复
  • 游戏结束べ
    游戏结束べ
    2021-12-24

    先根据id查出来数据,把数据放到一个数组里,再用foreach循环,判断条件为 item.title=="测试考试专用",return idx,就得到这一条数据在Course中的索引;循环外部修改Course[idx].Status=xxx;

    //1、初始化环境

          wx.cloud.init({

            env: 'xxxxxxxxxxx', //环境ID

            traceUser: true //是否将用户访问记录到用户管理中,在控制台中可见

          })

          //2、初始化数据库

          const db = wx.cloud.database()

          db.collection('User').where({

            _id: xxxx

          }).update({

            data: {

            Course: 修改之后的Course

            }

          }).then(r => {

            

          })

    2021-12-24
    有用 1
    回复 3
    • WwJD
      WwJD
      2021-12-24
      谢谢 我其实就想知道能不能通过一条updata语句来实现
      2021-12-24
      回复
    • 游戏结束べ
      游戏结束べ
      2021-12-24回复WwJD
      这种应该实现不了,updata语句里边应该不能写成Course[0].state:1
      2021-12-24
      回复
    • 游戏结束べ
      游戏结束べ
      2021-12-24回复WwJD
      我也没试过,只是感觉不能
      2021-12-24
      回复
登录 后发表内容