收藏
回答

云函数事务处理 DATABASE_TRANSACTION_FAIL

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wxcd1c2b1292e44c22 skynet-881ff5 2.12.1
  1. code"DATABASE_TRANSACTION_FAIL"
  2. message"[FailedOperation.Abort] Abortfail. Retry your request, but if the problem persists,contact us."
  3. requestId"1598427207356_0.26108586309568693_33601122-17429af9839_3"


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

4 个回答

  • 泡影
    泡影
    2021-05-14

    确实和楼上 @威 说的一样。

    我也遇到了这个问题。我出现的原因是,在index.js中先使用

    const transaction = await db.startTransaction();
    


    创建出transaction。随后分别将 transaction 作为参数分别放入 transaction1() 和 transaction2() 两个函数中。transaction1()添加数据,返回true,transaction2() 直接返回false。然后在 index.js 中获取值。   

    const ts1 = await transaction1.transaction1(transaction);
    const ts2 = await transaction2.transaction2(transaction);
    


    出现错误的原因就是一开始我没有加上 await。

    且还有一个注意的点是 transaction.collection("todos").add() 之中最好是直接调用add之类的操作方法,不要这样 const todos = transaction.collection("todos") 单独拎出来,不然也会出现那种错误。

    2021-05-14
    有用 1
    回复
  • 威
    2021-03-02

    这可能不是官方bug,可能是你要调用的方法是异步async,而你调用的时候没有加await,使得transaction执行失败。我也遇到这个问题,是这样解决的,你可以试试。

    2021-03-02
    有用 1
    回复
  • 哄哄
    哄哄
    2020-09-07

    目前有没有解决,下次紧急问题邀请回答

    2020-09-07
    有用
    回复 3
    • 徐图之
      徐图之
      2020-09-24
      同见到类似问题
      2020-09-24
      回复
    • 2020-11-12
      问题是要有足够高的等级才能邀请官方回答。
      2020-11-12
      回复
    • @
      @
      2021-01-22
      解决了吗,同样遇到
      2021-01-22
      回复
  • 关键
    关键
    2020-08-26

    @官方,帮我来看看。

    2020-08-26
    有用
    回复
登录 后发表内容
问题标签