云函数事务新增记录中无法生成_openid字段
1、云函数创建记录时不会自动增加_openid字段,需要在代码中主动增加 _openid字段。(这是不是个bug?) 2、当云函数创建记录时不使用事务,可以通过代码中主动增加 _openid 字段,在生成的记录中增加 _openid 字段 3、 但当云函数创建记录时启用事务时,事务可能执行完成,但数据不完整,缺少代码中主动增加的 _openid 字段 期望:事务中创建记录时能生成 _openid 字段。 复现代码如下: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() try { const transaction = await db.startTransaction() // generate order record let trade_no = 'ABCD1234' let order = { _id: trade_no, _openid: wxContext.OPENID, // 创建的记录中无 _openid 字段 status: 0, create_date: new Date(), // create_date: db.serverDate(), // 报错:invalid key offset } await transaction.collection('test').add({ data: order }) await transaction.commit() console.log(`transaction1 succeeded`) return { success: true, state: 3, } } catch (e) { console.error(`transaction error`, e) return { success: false, error: e, } } }