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 方法不存在。要想事务正常运行,必须上传到云环境。
我也遇到 db.serverDate() 报错的问题
第一个问题我也遇到了,,我都是通过_openid识别个人的,没了这个字段就搞不了事务了。。