收藏
回答

云函数向数据库中添加数据,控制台显示写次数+1,但数据库中没有记录,云函数的有返回值但日志一直打转?

写作业的时候遇到的,求大佬邦邦

以下是我云函数的代码以及调用云函数的代码:

云函数代码:

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
  env:cloud.DYNAMIC_CURRENT_ENV,
}) // 使用当前云环境
const db = cloud.database()
const _=db.command
const wxContext=cloud.getWXContext()
const openId=wxContext.OPENID


// 云函数入口函数
// 保存表单数据
exports.main = async (event, context) => {
  try {
    return await db.collection('health-checkin-data').where({
      done:true,
      _openid:openId
    }).get()
    .then(res => {
      var length=res.data.length
      if(res.data.length==0){
        db.collection('health-checkin-data').add({
          data: {
            checkinTimenew Date(),
            temperature: event.temperature,
            vaccine: event.vaccine,
            healthStatus: event.healthStatus,
            name: event.name,
            location: event.location,
          },
    })
    }
  })
  } catch (e) {
    console.error(e)
    throw e
  }
}

以下是调用代码(因为不知道跟这个有没有关系,就放上来了):

onSubmit: function() {
    // 1. 获取表单数据
    const temperature = this.data.temperatureOptions.find(option => option.checked).value
    const vaccine = this.data.vaccineOptions.find(option => option.checked).value
    const healthStatus = this.data.healthStatusOptions.filter(option => option.checked).map(option => option.value)
    const uname = this.data.uname
    const location = this.data.location
    
    // 2. 将表单数据保存到云服务数据库
    wx.cloud.callFunction({
      name'saveFormData',
      data: {
        temperature,
        vaccine,
        healthStatus,
        uname,
        location
      },
      successres => {
        console.log('表单数据保存成功', res)
        
        // 3. 更新连续打卡天数
        wx.cloud.callFunction({
          name'updateContinuousCheckinDays',
          successres => {
            const continuousCheckinDays = res.result.continuousCheckinDays
            wx.showToast({
              title`已连续打卡${continuousCheckinDays}天`,
              icon'success',
              duration2000
            })
          },
          failerr => {
            console.error('更新连续打卡天数失败', err)
          }
        })
      },
      failerr => {
        console.error('保存表单数据失败', err)
      }
    })
  },
  
  // 检查表单数据是否有效
  //isFormValid: function() {
  //  return this.data.name.trim() !== '' &&
  //         this.data.location.trim() !== ''
  //}
})

以下是一些运行结果以及我看过很多博客与评论后一些实行过的方法

运行结果

日志一直打转,加载不出来

下面是一些处理过但好像没有作用的方法:

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

1 个回答

  • Mr.Zhao
    Mr.Zhao
    2023-03-22

    真尴尬,又一个,你那是云函数没有重新部署

    2023-03-22
    有用 1
    回复 2
    • 爱默、挽
      爱默、挽
      2023-03-22
      明白了,谢谢佬
      2023-03-22
      回复
    • 晓夢覚醒
      晓夢覚醒
      2023-04-17
      呜呜呜呜呜谢谢大佬呜呜呜呜呜
      2023-04-17
      回复
登录 后发表内容