云数据事务报错:ResourceUnavailable.TransactionConflict?

发布于 8 年前作者 zxia1454 次浏览最后编辑 8 年前来自 issues

"document.update:fail [ResourceUnavailable.TransactionConflict] Transaction is conflict, maybe resource operated by others. Please check your request, but if the problem persists, contact us.; at document.update api; "

云数据库的一个简单事务处理,代码如下:


    const cmd = db.command;

    const updtranscation = await db.startTransaction();


    res = await updtranscation.collection('xinfo').doc(_id).update({

      data: info

    });


    if(info.total_pay>0){

      res = await updtranscation.collection("xaction").doc(info._id).update({

        data:{

          total_pay:cmd.inc(info.total_pay)

        }

      });

    }


    updtranscation.commit();

2 回复
hujing
hujing1 楼6 年前

您好:

此报错由于调用数据库返回WriteConflict导致。请看下不同事务中是否会同时对同一资源进行写操作?

vgu
vgu2 楼6 年前

当然上面的问题:多尝试几次,就会成功的