我的云开发之路,⑦,遇到的坑总结篇
发布于 5 年前 作者 gang08 4069 次浏览 来自 分享

没错,我又来了

在前面我学习了云开发的数据库、云函数、云存储以及云调用,在昨天我们创建了几个集合,这一切都是为了进行代码编写做铺垫。

从今天开始正式编写在线答题小程序,其实不是从0开始,是将之前的在线答题小程序用云开发重写。

本文主要用于记录在开发过程中,遇到的坑,以方便以后云开发的同学规避下

刚上来就遇到了一个坑,还好群里的小伙伴比较友好,马上就给我把脉指出问题所在。

第一个坑

数据库权限设置

具体的场景是这样,在数据库中有个集合叫exam,也就是存放考试记录的,这个集合里面有一条记录,但是在小程序端查询的时候,竟然没有查询出来,代码如下

onQuery: function() {
  const db = wx.cloud.database()
  db.collection('exam').get({
      successres => {
        this.setData({
          queryResult: res.data
        })
        console.log('[数据库] [查询记录] 成功: ', res)
      },
      failerr => {
        wx.showToast({
          icon'none',
          title'查询记录失败'
        })
      console.error('[数据库] [查询记录] 失败:', err)
    }
  })
},

然后我马上把问题抛给群里的小伙伴了,具体请看截图

很明显这个坑是大多数云开发的同学都会遇到,其实不用看代码就知道问题所在,非常感谢群里的小伙伴。

在之前学习数据库的时候,我没有特别强调数据库的权限设置,其实这一点特别重要,我截图

默认情况下,我们通过云开发控制台创建的集合,都是有权限设置的,默认是仅创建者可读写,这里要改成第一个,也就是所有用户可读,仅创建者可写。

关于数据库权限设置文档,请移步

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/legacy-permission.html

第二个坑

云开发的数据库字段的排序不是固定的,所以这就要求我们在平时注意不能用索引0,1,2,3来取值,具体示例,我后面补充一下。

第三个坑

未完待续

总结

回到顶部