收藏
回答

云函数怎么同步执行

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小游戏 Bug 工具 wx31efe7c23d620627 weibin-1986 2.0.0

业务大概是:多个用户可能同时去修改A用户的某个数据,但是只能允许一个用户修改成功

这个业务由云函数执行,通过get取出A用户数据,然后先判断是否被人操作过了,如果操作过了,则不可以再操作

未被操作过,则修改数据,update到数据库中。

请问如何做到这个同步。

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

1 个回答

  • -
    -
    09-03

      try{

        var Result = await db.collection('UserData').doc(Target_openId).get()

        if( Result.data.trees[CIndex]>=5 ) //表示未被修改过

        {

          Result.data.trees[CIndex]-- ;

          //更新

          await db.collection('UserData').doc(Target_openId).update({

            data:{

              trees:Result.data.trees

            }

          })

          return {

            msg:"成功"

          }

        }

        else{

          return {

            msg:"失败"

          }

        }

      }

    09-03
    有用
    回复 1
    • -
      -
      09-04
      已解决,使用云数据事务
      09-04
      回复
登录 后发表内容
问题标签