收藏
回答

如何为可变索引提交原子操作

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 需求 工具 wxae8d855f162b53f3 cloud1-2gdg7ed585520cc0 2.13.2

比如我想对某条记录里面的一个字典不同的key做自增的原子操作

原先的代码是

db.collection().doc().update({

data:{key:_inc(1)}

})

现在我需要对一个字典object里面的不同的key做操作,比如

dict.key1: _inc(1)

dict.key2:_inc(3)

.....


现在问题是:这个操作是动态的,会根据用户的提交数据来算出到底要变几个key,各自变多少

如果我把update里面的data单独用一个变量来保存,比如写成

db.collection().doc().update({

data: updateData

})

在此之前去操作updateData,貌似不行,程序会报错


所以想问一下这种情况如何解决呢?不知道我表述清楚没有

最后一次编辑于  2021-06-22
回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2021-06-23

    updateData 这个存的啥

    2021-06-23
    有用
    回复 8
    • 小程序@小萝卜报名
      小程序@小萝卜报名
      2021-06-23
      updateData={dict.key1: _inc(1),


      dict.key2:_inc(3)} 这样。。。
      2021-06-23
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-06-23回复小程序@小萝卜报名
      dict.key2 不报错?
      2021-06-23
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-06-23回复小程序@小萝卜报名
      是这个意思吗?这也不难,跟云开发没关系,js的动态键
      2021-06-23
      回复
    • 小程序@小萝卜报名
      小程序@小萝卜报名
      2021-06-23回复Mr.Zhao
      对,直接那么写是报错的;用动态键是可以的,我再琢磨琢磨,多谢了
      2021-06-23
      回复
    • 小程序@小萝卜报名
      小程序@小萝卜报名
      2021-06-23
      哦,用动态键还是差一点,因为我这里实现的arr长度是不固定的,所以没法在初始化的时候确定updateData
      2021-06-23
      回复
    查看更多(3)
登录 后发表内容