小程序
小游戏
企业微信
微信支付
扫描小程序码分享
transaction error { code: 'DATABASE_TRANSACTION_FAIL', message:'[FailedOperation.Abort] Abortfail. Retry your request, but if the problem persists,contact us.', requestId: '1611285337058_0.4232298341246894_33595297-177281714b9_3' }
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
已知问题:不是SDK bug
是目前设计成这样的,因为事务里用where ,进行多文档操作很容易出现事务冲突、
怕用户处理不好这种情况,目前没有开放这个功能。
(总结:之前是支持的,然后出于以上原因,目前关掉了这个功能,现在只可以事务中用where get建议文档中补充下)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我擦,21年的问题, 今天都没解决?
您好,请问您这边情况是必现的吗?还是偶然出现的
const _ = db.command
try {
const result = await db.runTransaction(async transaction => {
await transaction.collection('test').where({'id':1}).update({
data: {
count: _.inc(-600)
}
})
//此处判断count<0时回滚事务
// 终止事务
await transaction.rollback(-100)
} catch (e) {
// e === -100
console.error(`transaction error`, e)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
已知问题:不是SDK bug
是目前设计成这样的,因为事务里用where ,进行多文档操作很容易出现事务冲突、
怕用户处理不好这种情况,目前没有开放这个功能。
(总结:之前是支持的,然后出于以上原因,目前关掉了这个功能,现在只可以事务中用where get建议文档中补充下)
我擦,21年的问题, 今天都没解决?
您好,请问您这边情况是必现的吗?还是偶然出现的
const _ = db.command
try {
const result = await db.runTransaction(async transaction => {
await transaction.collection('test').where({'id':1}).update({
data: {
count: _.inc(-600)
}
})
//此处判断count<0时回滚事务
// 终止事务
await transaction.rollback(-100)
})
} catch (e) {
// e === -100
console.error(`transaction error`, e)
}