云函数向数据库中添加数据,控制台显示写次数+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: {
checkinTime: new 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
},
success: res => {
console.log('表单数据保存成功', res)
// 3. 更新连续打卡天数
wx.cloud.callFunction({
name: 'updateContinuousCheckinDays',
success: res => {
const continuousCheckinDays = res.result.continuousCheckinDays
wx.showToast({
title: `已连续打卡${continuousCheckinDays}天`,
icon: 'success',
duration: 2000
})
},
fail: err => {
console.error('更新连续打卡天数失败', err)
}
})
},
fail: err => {
console.error('保存表单数据失败', err)
}
})
},
// 检查表单数据是否有效
//isFormValid: function() {
// return this.data.name.trim() !== '' &&
// this.data.location.trim() !== ''
//}
})
以下是一些运行结果以及我看过很多博客与评论后一些实行过的方法 运行结果 [图片] [图片] [图片] [图片] 日志一直打转,加载不出来 下面是一些处理过但好像没有作用的方法: [图片] [图片] [图片] [图片]