收藏
回答

云函数本地调试运行成功且有效果,但实际调用时无效果

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 微信iOS客户端 wx1f7f870cec0305eb dmt-database-4g1on1bm07addfde 2.31.1

大家好,我在云开发使用云函数的时候遇到一个问题无法解决,还请各位大佬指教。

我写了一个云函数,作用是【每日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 * * * *"
      }
    ]
  }


操作图片:

最后一次编辑于  2023-05-23
回答关注问题邀请回答
收藏

3 个回答

  • Mr.Zhao
    Mr.Zhao
    2023-05-24

    你是云函数没重新部署吧 返回结果跟你代码有出入

    2023-05-24
    有用 1
    回复 1
    • Xiaohaohao
      Xiaohaohao
      2023-05-24
      感谢!确实是没有点击上传并部署
      2023-05-24
      回复
  • 空城里
    空城里
    2023-08-20

    我的云函数部署了,id都换了,本地调试合适,但关掉本地测试后,就不行了,提示的是权限问题,但env 里面我都写死了,还可能是什么问题


    2023-08-20
    有用
    回复
  • Xiaohaohao
    Xiaohaohao
    2023-05-23

    补充:

    我又尝试了自动触发了两次,但是还是没有效果。目标集合的权限状态是“所有人可读 所有人可写”

    2023-05-23
    有用
    回复
登录 后发表内容