阿里云使用事务插入数据
await transaction.collection(someCollectionName).add({ user_id, user_name ... })
![g***@163.com](https://img-cdn-tc.dcloud.net.cn/account/identicon/64e451869a22081539636d128065042c.png)
- 发布:2023-05-28 23:34
- 更新:2023-05-29 11:52
- 阅读:344
产品分类: uniCloud/阿里云
操作步骤:
预期结果:
插入数据成功
插入数据成功
实际结果:
报错:
ERROR] transaction error ReferenceError: 阿里云 is not defined
at /tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:1211
at Pt.get serverDate [as serverDate] (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:42640)
at i.module.exports (/tmp/function/module/point/recharge.js:69:19)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
报错:
ERROR] transaction error ReferenceError: 阿里云 is not defined
at /tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:1211
at Pt.get serverDate [as serverDate] (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:42640)
at i.module.exports (/tmp/function/module/point/recharge.js:69:19)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
bug描述:
在云对象中使用事务,示例代码如下 :
const transaction = await db.startTransaction()
await transaction.collection(userCollectionName).doc(uid).update({ balance: dbCmd.inc(amount) })
await transaction.collection(someCollectionName).add({ user_id, user_name ... })
await transaction.commit()
运行到第 3 行 transaction.collection(someCollectionName).add 时就会报这个错。无论是本地调试还是远程运行。
日志的 RequestID ac1cc2f81685284076913187467
ERROR] transaction error ReferenceError: 阿里云 is not defined
at /tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:1211
at Pt.get serverDate [as serverDate] (/tmp/function/@dcloudio/serverless/lib/aliyun/uni-cloud.js:1:42640)
at i.module.exports (/tmp/function/module/point/recharge.js:69:19)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)
aliyun/uni-cloud.js:1:1211 这种错误作为用户无法修改。而且为什么会出现中文变量的呢?
2 个回复
g***@163.com (作者)
原因找到了。。
事务插入时,对时间字段的赋值使用了 db.serverDate()
看文档,这个只有腾讯云的空间才支持,阿里云不支持。
DCloud_uniCloud_WYQ
感谢反馈此问题,已加分