大家好,我在云开发使用云函数的时候遇到一个问题无法解决,还请各位大佬指教。
我写了一个云函数,作用是【每日0点自动将云数据库‘nap’集合中的‘recordDay’字段设置为0】,但是在定时触发器触发后‘recordDay’字段并没被设置为0。
所以我尝试使用本地调式排查问题,本地调试手动触发后发现‘recordDay’字段被设置为0,由此我认为核心代码应该没有问题。
而后我将云环境env直接指定为我的云环境,但是实际定时器自动调用时仍没有效果,我在后台查看云函数调用记录时发现云函数确实有被定时调用,由此我认为定时器设置应该没问题。
综上,我认为可能是环境配置或其他细节出现问题,但本人初次开发小程序,个人能力实在是无法排除该问题,还请各位大佬伸出援手,红豆泥阿里嘎多!
以下是我的全段代码:index.js
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: "dmt-database-4g1on1bm07addfde"}) // 使用当前云环境
const db = cloud.database();
const _ = db.command
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
try{
return await db.collection('nap').where({
recordDay:_.neq(0)
}).update({
data:{
recordDay:0
}
}).then(res=>{
console.log(res)
})
}catch (e) {
console.log(e)
}
}
定时触发器:config.json
{
"triggers": [
{
"name": "myTrigger",
"type": "timer",
"config": "0 0 0 * * * *"
}
]
}
操作图片:
你是云函数没重新部署吧 返回结果跟你代码有出入
我的云函数部署了,id都换了,本地调试合适,但关掉本地测试后,就不行了,提示的是权限问题,但env 里面我都写死了,还可能是什么问题
补充:
我又尝试了自动触发了两次,但是还是没有效果。目标集合的权限状态是“所有人可读 所有人可写”