收藏
回答

云函数中使用Add更新数据库时常失效

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wxc9104b1a61511ee3 jiumao-0g17trlj4abdf572 3.3.4
// 云函数入口文件
const cloud = require('wx-server-sdk')


cloud.init({
  env"jiumao-0g17trlj4abdf572"
})


// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const db = cloud.database()
  db.collection('Manager').add({
    data: {
      name: event.name,
      register_datenew Date(),
      openID: wxContext.OPENID
    }
  })


}


这段代码应该会在Manager集合中增加一个记录,但实际情况在约一半的情况中可以增加记录,且云函数失效是一个随机事件,成功的情况下数据更新很慢,需要几秒钟时间。

我在之前的版本中使用相同的代码未出现过此类问题,在这次购买新环境后出现该问题。

已经在日志中确认云函数被正确调用

最后一次编辑于  03-06
回答关注问题邀请回答
收藏

2 个回答

  • 九毛
    九毛
    03-06
    await db.collection('Manager').add({
        data: {
          name: event.name,
          register_date: new Date(),
          openID: wxContext.OPENID
        }
      })
    


    需要加上await防止程序在数据库完成操作之前结束

    03-06
    有用 1
    回复
  • showms
    showms
    03-07

    加个await,不加await阻塞云函数执行完就结束了,数据 可能会更新失败

    03-07
    有用
    回复
登录 后发表内容