云函数开发跳坑经验-报错404011 cloud function execution error
这里写一下这两天踩过的坑,若有大神看此贴,欢迎指点一二,若有写的不周的地方,请谅解 前言:小程序需要在云函数中执行对数据库的新建以及更新操作 我这里用的云函数操作的云数据库,刚开始写的是一个新建的动作,复杂的逻辑劈里啪啦写了一大堆,测试一下并没有报错,但是在我进入云开发去看数据库时傻眼了---并没有刚刚新建的记录。赶紧先把代码挪出来只写一个简简单单的新建函数: 注意一: 云函数开发和普通开发有些区别--普通开发访问数据库这么写:const db = wx.cloud.database() 云函数访问数据库这么写:const db = cloud.database() 注意二:对数据库的操作代码之前要加上 “await” (这里我要吐槽一下官方文档,没有有关于云函数操作数据库的注意事项文档) [图片] 嗯,这样才算能够操作的到数据库 注意三:云函数初始化的时候,千万不要图省事什么都不写: 开始的时候,我以为这么写会去访问默认数据库不需要其他操作 [图片] 那么你可能会和我一样遇到-404011错误 [图片] 原来云函数在初始化的时候,并不会按照app.js中wx.cloud.init里面配置的信息进行位置访问,而是需要在云函数的初始化方法中声明访问位置 [图片] 这个报错影响了我一天,这里也需要提醒一下遇到-404011的各位,遇到这样的问题继续看报错信息不要莽莽撞撞的就去查各种资料,比如我的这个报错信息,提示找不到db or table 所以才意识到初始化的时候需要声明一下,之后再上传并部署就可以了 也许您也还会遇到-404011的其他报错信息,报错信息后面如果提示找不到sdk或者其他的也都有可能,在查百度的时候看到这样一篇文章不错,可以借鉴一下https://blog.csdn.net/New_Yao/article/details/84657774 我的电脑上是没有装node的,但是也可以正常使用,我一直使用的都是云端安装依赖,因为我在看官方文档的时候,并没有说电脑一定要安装node,当然,这个还是要看实际情况