收藏
回答

云函数使用事务时,遇到的3个问题

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 工具 wxfd8d88505dc4a00a 2.8.1

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 方法不存在。要想事务正常运行,必须上传到云环境。

回答关注问题邀请回答
收藏

2 个回答

  • 朱高
    朱高
    2020-02-10

    我也遇到 db.serverDate()  报错的问题

    2020-02-10
    有用 1
    回复
  • LYY
    LYY
    2020-01-26

    第一个问题我也遇到了,,我都是通过_openid识别个人的,没了这个字段就搞不了事务了。。

    2020-01-26
    有用
    回复
登录 后发表内容
问题标签