第一个问题我也遇到了,,我都是通过_openid识别个人的,没了这个字段就搞不了事务了。。
云函数使用事务时,遇到的3个问题1.使用 db.runTransaction 和 db.startTransaction 时,"_openid" 保存不到文档中,其他字段可以。 const transactionResult = await db.runTransaction(async transaction => { await transaction.collection("XYZ").add({ data: { _openid: openid1, // _openid 保存不到文档中 2.使用 db.runTransaction 和 db.startTransaction 时, db.serverDate() 产生的日期不能正常保存,使用 new Date()产生的日期可以正常保存。 使用db.serverDate() 时,云函数端抛出错误: { Error: errCode: -502001 database request fail | errMsg: collection.add:fail [FailedOperation] invalid key in $date object: offset; at collection.add api; at returnAsCloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6052:16) at Object.returnAsFinalCloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6066:15) at Promise (/var/user/node_modules/wx-server-sdk/index.js:1179:32) at <anonymous> at process._tickCallback (internal/process/next_tick.js:188:7) errCode: -502001, errMsg: 'collection.add:fail [FailedOperation] invalid key in $date object: offset; at collection.add api; ' } 3.云函数本地调试不支持事务 db.runTransaction(),提示 runTransaction 方法不存在。要想事务正常运行,必须上传到云环境。
2020-01-26