▌前言
近来小程序·云开发越来越热,云开发主要基于Serverless架构,Serverless架构包含两块:Faas(函数即服务)和BaaS(后端即服务)。
FaaS提供的是按需运行的计算能力,而BaaS提供的则是包括对象存储、数据库、等开通即用的后端能力,本文主要介绍的是云开发中的数据库能力。
▌云开发数据库能力
1.数据类型
云开发有String、Number、Object、Bool、Date、Geo、Null等7种数据类型。
2.权限管理
云开发数据库的权限分为小程序端和管理端,管理端包括云函数端和控制台。小程序端运行在小程序中,读写数据库受权限控制限制,管理端运行在云函数上,拥有所有读写数据库的权限,云控制台的权限同管理端,拥有所有权限。
提供了两种权限控制方案,第一种是初期提供的基础的四种简易权限设置,第二种是灵活的、可自定义的权限控制,即数据库安全规则。
3.增删改查
云开发将一系例接口进行封装、可通过SDK进行快速的增删改查能力。
4.管理端增删改查
云开发在云控制台数据库管理页中可以编写和执行数据库脚本,可对数据库进行增删查改 & 聚合操作,语法与SDK 数据库语法一致。
5.实时数据推送
云开发数据库支持实时推送变更数据的能力,给定查询条件,每当数据库更新而导致查询条件对应的查询结果发生变更时,小程序可收到一个更新事件,其中可获取更新内容和更新后的查询结果快照。
实时数据推送有广泛应用场景,可以应用在即时通信、多人小游戏、协作工具、实时应用状态同步等多个领域。
6.聚合
云开发聚合是一种数据批处理的操作。聚合操作可以将数据分组(或者不分组,即只有一组/每个记录都是一组)然后对每组数据执行多种批处理操作,最后返回结果。
可以实现分组查询、取某些字段的统计值、流水线式分阶段处理、获取为唯一值等查询操作。
7.事务
云开发数据库事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。
8.地理位置
云开发数据库提供了Point、LineString、Polygon、MultiPoint、MultLineString、MultIpolygon等多种地理位置数据类型的增删查改支持。
▌云开发数据库专题课程
视频课程链接:
腾讯云大学
bilibili
云开发数据专题目前录制了5小节视频:
1.如何设计云开发数据结构
主要讲解NOSQL型数据库如何设计具备可关联查询数据结构。
2.云开发数据库权限与_openid的关系
主要讲解云开发数据库权限以及在小程序读取云开发数据时openid的作用。
3.云开发数据库控制台进行添加、导出和导入数据
主要讲解云开发数据库导入处理冲突的两种方式以及通过JSON、CSV的文件格式快速导入到云开发数据库并从云开发数据库快速导出到本地。
4.云开发数据库基础数据查询
主要讲解云开发数据库在常见场景下的一些屏蔽大小写查询、特殊字段查询查询、如何通过云函数突破小程序每次只能读取20条数据限制。
5.云开发数据库基于地图场景下的数据查询
主要讲解在地图场景下利用Geo方法查询距离原点最近记录、区域内查询查询记录、随机返回单条记录以及云开发数据库的多种调用方式。
▌总结
本专题课程主要是让开发者能快速上手云开发数据库,并对于之前熟悉SQL型数据库的一些开发者在处理关系型数据结构时提供一些解决方式,本专题课程使用的仅仅也是云开发数据中的一部分小能力,云开发数据提供了几十个接口以及上百个操作符,这些是无法在视频当中进行一一演示,对云开发数据库感兴趣的开发者可以通过云开发文档进行了解
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html。
云开发(CloudBase)是一款云端一体化的产品方案 ,采用 serverless 架构,免环境搭建等运维事务 ,支持一云多端,助力快速构建小程序、Web应用、移动应用。
技术文档:https://www.cloudbase.net/
微信搜索:腾讯云云开发,获取项目最新进展