「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战」
前言
前面我们介绍过云函数的使用,它能让我们编写一系列函数放在云端用来处理各种逻辑,但是无法实现对于数据的存储,因此本篇我们来讲讲如何利用云存储的能力对数据进行云端的管理。
云存储介绍
顾名思义,云存储就是在云端进行数据的存储,这些数据可以是用户所产生的数据,也可以是云函数的逻辑所产生的数据,或者开发者预先在云端存放的数据。格式可以是JSON数据对象、图片、音频、视频等等。
数据管理
关于数据的管理,我们通常会简称为“增删改查”四种操作,其对应的分别就是新增数据、删除数据、修改数据和查询数据。
数据库
首先,数据是要存放到一个地方的,这个地方就是数据库,对于云存储所使用的就是部署在远端的云数据库。我们通过小程序开发者工具来到我们的云开发控制台。
点击控制台上方的数据库,即可进入我们的云端数据库的管理界面
集合创建
其中,各种各样的数据可以通过一个个集合进行管理,比如首页所展示的列表内容可以放到一个叫作homeContentList的集合中,让我们来创建它。
数据集合是由一条条记录所形成的,我们可以假象我们的小程序已经拥有了内容发布能力,那么每次新增的内容会包含正文和配图两部分,而这一次内容的发布就对应于数据存储中的一条记录,包含正文和配图两个字段,那么我们来仿照内容发布来新增三条内容记录。
在新增记录时,字段就是我们要存储内容的一个标识信息,比如我们用text标识正文内容,值就对应正文的文本内容。image则标识我们的配图,值就为图片的所在地址。
在添加完三条记录以后,我们的homeContentList集合应该如下
左侧展示了当前数据集合的所有记录,而右侧则是每条记录的详情,其中在创建记录时一般会默认有_id这一字段来唯一标识每条记录,可后续用于查找具体的某条记录。
那么这样,我们就完成了一个数据集合的创建,接下来,我们试着使用一下这个集合。
集合访问
对于集合的访问,我们既可以直接通过小程序进行集合内的数据进行访问,也可以通过上一篇所讲的云函数来进行访问,让我们分别演示两种方式下的使用。
小程序访问
数据库存在权限概念,从小程序端访问数据库时会受到权限的限制,关于权限的规则可见 官方文档
上面我们通过手动创建的数据记录,由于没有_openid字段,所以在小程序侧是无法直接访问到的,所以我们需要按照下图的方式修改集合的数据权限。
然后在小程序侧通过云服务API进行数据集合的选择以及数据获取
云函数访问
这里首先提前告知一个大坑,使用云函数,一定要把项目中的基础库版本修改为
2.14.1,否则很多云函数的使用会存在问题,比如本地调试功能
然后我们回到使用云函数调用数据库的示例,首先在小程序页面侧我们依然通过云函数进行数据获取。
接着,我们将数据库访问的逻辑从小程序侧移动至云函数侧
这里我们甚至可以在云函数本地调试窗口中如下图设置断点,来查看云函数读取数据库的过程
从上图可以看到,我们可以通过调试窗口的断点调试功能,逐步看到云函数在从数据库中获取到数据后的所有步骤。
总结
好了,经过本篇数据库的介绍,我们将首页展示的数据成功地从云函数侧转移到了数据库内进行维护,这样是比较合理的数据维护手段。
这样我们的云函数只负责处理逻辑,小程序只负责请求云函数获得数据并进行展示,而所有的应用数据都存储在云端的数据库中,这就是小程序,也是目前各种主流Web应用的通用技术架构。