00:03
哈喽,大家好,我们这节课主要来讲数据模型,在之前的课程中我们讲过内容管理平台是一个基于headlesss的内容管理,呃通过简单的一些配置,然后就可以动态的生成整个的内容管理页面,呃是我们小程序开发者或者是网页开发者再去写自己后台的时候非常方便啊,就能够非常方便的去生成自己的管理后台,呃给到我们的管理人员去使用。但是有很多情况下,嗯,我们需要更加的去,呃就是严格一些,我们在整个的呃项目协作过程中会可能要更加严格的一些数据约束,比如我们在整个云开发里,我们使用的是类猫购协议的,呃就是非关系型数据库嘛,那在这种情况下,我们的每个文档它没有一个个的字段限制,就是比如说A字段数字,B字段文本,然后有一些限制,那这种情况。
01:03
况下,我们一个人开发,独立开发倒是没什么问题,如果陷入团队开发的话,我们必须要约束一个,有一个约束,就是在某一个集合里,某一某一个集合的文档,它都是按什么样的规则来去排序的,某哪些字段必须是文本,哪些字段必须是数字,哪些字段必须是对象这些等等,那么如果说我们没有一个强加强强行去做校验的话,我们很容易使得,呃,我们的不同的API,然后不同的云函数去操作数据库的时候,很有可能造成混乱,就造成A函数写了一个错误的数据,导致B函数的功能失效,很有可能会出现这种问题。那么如何在云开发数据库这种啊,非关系型数据库里,我们去给他套一个啊,我们有关于业务上的一些限制,那么就是我们这节课要推出的数据模型,呃,我们带大带大家来体验一下,并且看里边。
02:04
呃,数据模型为我们带来的一些特点啊和优势,好,那么我们转到我们的一个小程序工具里,还是在右键我们跳转到通过云模板或AI使用页面,我们点击我们打开。好,那么在这里的话,我们直接在内容管理系统里啊,默认来说是内容管理系统嘛,我们点击查看详情,他会给我们说,诶,更强大的内容管理系统上线了,然后会自带什么呀,创建数据模型,自带管理页面,类型校验,权限访问,SDK访问等等,也就是说它相当于类似在我们的原始的云开发数据库的上面,给我们套了一层架子,然后呢,这个架子能够帮助我们来去省很多事情,在数据管理上,类型校验上,权限等等啊,我们会很使很多架子,那这样的话,我们使用新版的数据管理在这里啊,这里的话就是我们的一个数据模型的一个管理啊,那我们看一下,好,那我们在这里我们新建数据模型啊,正常来说我们新建数据模型,我们可以从空白创建,也可以直接从数据集合里,比如说你有数据集合了,那你直接通过拿字段也可以,那我们先尝试一下,比如说我们从空白创建,我们先从空白创建啊,这个时候。
03:23
PRO的话,我们点击下一步。好点击下一步,然后我这边是有一个那一个叫什么视频呢,然后呢,下一步那个按钮挡住了,好下一步完了之后,我们直接创建一个模型,比如说我们创建一个test模型啊test,然后呢就直接test,然后呢配置字段,我们在这里我们简单的配置字段,比如说name幕啊名字啊姓名啊name幕啊字段描述我们不管数据类型是文本,然后单行文本最小两个字,最长多少字,五个字姓名嘛,对吧,然后默认值没有,是否为填是然后呢是否为1啊是然后呢,当然你也可以不用填了,你填否也行,然后呢,是否主展示类好可以确认,然后呢再来一个年龄对吧,年龄,嗯,Age, 哦,还是年龄的话,这里的话是一个数字,对吧,我们来一个数字小数位数,我们直接设成0就可以了,当然你也可以不用填,它默认是0啊,然后。
04:38
送的最大值150岁啊,最小值的话10岁啊,然后呢,是否必填是是否为一啊不用是否为一啊,这俩都不用必填啊OK好,我们确定啊,我们简单的先设两个值啊,然后再来,再来一个什么成绩啊分数啊啊分数,然后我们的文本啊,也不是文本,是直接是数字啊数字啊数字啊是否必填不用必填,是否唯一,呃,也不用啊分数,然后再来一个,再来一个是什么呢?我看一下有什么类型啊呃叭如说枚举啊,我看一下有没有枚举啊,有枚举啊,那么来一个,来一个性别,嗯性别嗯,然后枚举啊,这里还有创建选项集啊,单选创建一个呃性别呃性别啊。
05:38
难啊。男,哎,不对,到了,那我们直接男和女就选1和0吧,嗯,女0字母数字。选项标选项标识能包含字母数字或那倒过来,嗯能你啊倒倒过来是倒过来吗?感觉倒过来有点有点奇怪呀啊,然后默认值我们就不默认了,我们确认啊,这样子我们就完成了啊完成了我们创建了一个数据模型,其实相对来说就呃类似于我们的关系型数据库里创建了一个表嘛,然后这个表里帮我们设置了一些东西啊然后呢,我们就可以直接happy的去添加了,比如说张三,嗯25分数100,嗯男或者是女男啊提交这样的话就就已经成功了嘛,那这种时候的话,我们回到我们的云开发的数据库里,我们可以发现在云开发的数据库里已经有了这么一个文档了,比如说数据。
06:56
库里,那这里的话就有一个test test里边我们包,我们包含了这一个这一个这一个文档啊,这一个文档,好,那这样子的话,我们是不是就就已经,呃,已经已经通过一个完完整整的一个叫非关系型数据库,然后我们通过套入了一个数据模型,然后变成了一个关系型数据库,那这样的话,我们就可以直接通过相应的一些函数城市,我们去读写整个的模型了,整体来说就已经成功了,我们再来去试一下其他的,比如说导入CM模型,如果你之前是有CMS的模型的话,那你可以直接选择导入,如果你没有的话,你也可以通过导表,比如说我们刚才一个已经创建了同名的一个模型,那么现在我们把它删了,然后重新再通过它创建,可不可以可以,它是直接取前20个,比如说你有一个新的表,呃叫呃叫A的,叫一个名字叫A的表,那这里就会有个A,然后你选择A之后下一步的。
07:56
的时候,他会把你A的A的表里面前20个啊,注意是前20个文档啊,然后直接拿过来,然后去遍利一下你20个呃文档中呃所有字段的交集啊,并集啊就就是并集,呃,比如说你第一个字段,第一个文档里有AAA啊,然后第二个文档里有B,第三个文档里有ABC,那最后合合起来是什么?就是ABC,然后他就会把ABC给你列出来,然后你去选择每个字段它到底是什么类型,然后限制是多少啊,基本上都是一样的啊,然后呢,基本上就是跟我们正常的这种关系型数据库里设创建表的这种关系是一样的,但是如果说你感觉我刚才设置的有问题,我想要再设置一次,那你就可以在配置模型里编辑字段,然后去随便的去做编辑啊,然后比如说单选变多选呀,然后呢姓名,然后设置一下有一个字的啊,然后也可。
08:56
也有两个字的也可以,然后确定,然后呢继续保存,保存成功之后就可以了啊,这是我们整个的啊,基本上来说,嗯,跟我们的CMS管理系统啊,之前讲的啊还差不多啊,还差不多,然后如果这样的话,你也可以批量导入导出啊,比如说导入,呃,导入啊,批量导入,批量导出,这是都是可以的,然后呢,你就可以直接通过导表格的形式,然后批量的去生成一些数据都可以啊,导出也也是一样的,就把当前的这些数据都导出啊,都导出,导出全部或者筛选后的数据啊,然后呢,这些的话,其实都是非常简单的,我们接下来的话主要去看嗯两个事情,第一个数据分析,数据分析的话是直接给我们有了一个单独的一个数据分析的一个面板啊,然后呢,呃,我们可以通过chat DB啊,我们在后面的一些课程中可能会学习,呃,Chat DB这里,然后如何使用一个AI的一个方式,然后去生成,去生成我们。
09:56
们的一些数可视化表,呃,可视化图表,然后呢,帮助我们直接去纳入整个的数据看板里啊,这个的话我们等后面的课程再学习,另一个的话就是如何读写数据模型,我们接下来的话我们要用嘛,对吧,我们肯定会要在云函数中或者小程序中去使用,那么在使用啊,这个使用的这个过程是需要啊,是需要好好考虑的啊,就是我们需要好好去学习的,那我们的课程重点主要在我们的如何读写数据模型中,好那么我们现在先啊在小程序中演示啊,那么这里的话,它有一个步骤,就是首先初始化的步骤,然后在接下来什么创建的这个步骤,好那么我们给大家去演示一下,主要是大家在小程序中可能使用的比较多啊,如果说你加了关系模型之后,希望不不需要用于函数,直接在小程序中就可以直接去读写自己,就是用户自身的一些数据,这样的话会比较方便一些,那我们现在演示如何在小程序中使用它第一步。
10:56
了的话,让我们去安装,安装这么一个啊,安装这么一个叫什么SDK,然后呢,通过引用SDK,然后去指定环境,呃,其实本身来说微信小程序的SDK,它呃其实跟我们正常note GS或者是我们使用的一些开发vuee的这种框架开发这种其实并不是很一样啊,它中间有一个叫编译的过程,所以呢,给大家去演示一下啊,如何去简化自己的代码的数量啊,就是代码包,然后呢,呃,如何去精简自己的代码项目代码啊,正好通过这个来演示一下,首先我们在这一个mini program, 如果你的该目录啊,一定要要找自己app.jason的那一个目录啊,就是刚才你看现在这个APP点接所处的目录是mini program哈,就在mini program下去安装这个啊,安装。
11:56
好,我们等它安装好,安装了之后啊,我们会在这一个mini program下,我们去安了这个东西啊,我看了一下安了安安哪去了啊,呃,应该给我们消失不见了,但是它其实是有的,给大家看一下啊,给大家看一下确实是有的吧,对吧,No not not model啊是这么一个东西,好,接下来的话,我们就直接在这里啊,然后我们点击工具啊,构建NPM啊,构建完成它会给我们吐出来一个mini program, 让MPM好,这个时候我们就不用管了,我们直接什么呀,我们直接删除。
12:34
删除刚才的两个,我们只要这个mini program, 甚至啊都不需要我们直接把这个indexor JS拿出来,拿出来,呃,拿出来,然后呢,把mini program m PM也可以删掉,那么这里的话,我们就可以直接去新建一个文件夹us,然后呢,把刚才我们拿出来的那个JS啊,Clint SDK啊。
13:02
它是cleanlint SDK吧,看一下这边啊,对吧?C cleant SDK啊,那我们也给它复制成clean cleanlint SDK好啊,然后呢,把它拖进去,把它拖进去好,这个时候这个时候我们看一下啊,它让我们去导入什么什么什么这一个啊,它其实就是导的那个包嘛,去找这个包嘛,但实际上来说我们这个包已经导过来了,我们不管它,我们直接去干什么呀,我们直接在这里,我们去导入本地的这一个就可以了,点us clean的SDK啊就完事儿了,然后呢,后面in it啊,我们正常in it, 然后呢,正常去用,它给我们去吐了一个models,然后这个变量我们要在各个页面里去用吧,对吧,我们不可能这么用吧,所以呢,我们怎么弄啊,我们直接什么呀,直接把这一个clientlint models改成什么呀?去吐到什么微信点close。
14:02
小点models,那么接下来的话,我们就直接微信.close.models我们去用就可以了,对吧,这样的话就可以了,我们看一下走一走走一遍啊来看一下能不能行啊,感觉可以没啥问题是吧,那么这里的话,其实它还是没有被压缩过的,所以我们随便去找一个啊,随便找个压缩啊。压缩好压缩回来,好在这里的话,最后它有一个这个这个不严谨的地方,我们给它补进去啊就成了,那么也给它压缩了,那么这个整个的代码的话,就比刚才要小很多嘛,然后也没有什么呃多余的东西啊,那么接下来我们试一下好使不好使嘛,那主要是你不好使,你管这个有啥用啊对吧?所以呢,我们接下来我们直接去查询,我们先查询对吧?啊,我们更新更新删除删除,为什么查询在最后对吧?我们应该查询对吧?查询好查询把这个查询拿过来,我们放在哪里啊,我们放在这个点击按钮这里我们有一个点击按钮,我们放在这个点击按钮里啊好在这里我们直接改成微信点close的点models,因为什么呢?我们刚才是什么呀,我们刚才已经把它拿过来了嘛,所以呢,Test.
15:25
点list,然后我们就直接直接来来用就可以了,对吧?啊Data好,这个时候给大家放大看看,点击好记录已经出来了,整体来说就已经非常的完美了嘛,对吧?那么接下来的话就是什么呢?就是非常简单的照着文档去写东西就可以了,比如说我们创建,创建这个东西非常好创建啊,就直接复制一下卡本儿,复制一下好复制复制完了之后里边所有的一些记录啊,包括什么分数啊,然后名字呀什么的什么这些东西都都有,比如说我们的那一个刚才的那一个性别啊,性别应该是1,然后分数啊,内幕啊内幕李四啊李四。
16:14
四四呃年龄呃30啊好大大概这样,然后我们我们继续我们点击。啊不对,刚才那一个复制有叉P对吧,我们就直接微信点lo的啊,你看他有他有功们有一个校验什么呀什么,呃,期望的类型是字符串,然后解决解决,那么因为所有的只要是加数据模型,通过模型去调用新增数据,它都是有限制的,我们刚才的那一个的话,其实是那一个叫什么,就是选择枚举嘛,它其实是值的话,都是文本,没有什么数字的这种枚举啊,所以呢,我们写一个值,我们添加啊已经成功了,那么接下来我们回去刷新一下,我们去看一下刚才的这一个李四是不是男对吧,改成女也行啊对吧?嗯,来一个王五改成女,嗯。
17:12
啊,改成女女就是0嘛,对吧,然后呢,整个20啊18岁吧,嗯,然后呢,分数100好。点击按钮成功,然后我们回去再刷新啊,这不是你的嘛,对吧,这不是非常正常了吧,对吧?非常正常了,好,那么接下来的话就是可能会有一些,呃,刚才我们已经演示过了啊,如果有一些呃非叫什么叫叫叫,就是在字段类型不匹配的话,会给我们提示会报错,那当然的话还有一些其他的,比如说呃,你的那个值是唯一的呀,就不允许重复呀,然后呢,必填呀,然后值的类型不统一啊,以及刚才我们的那一个名字,比如说有一个的名字王啊王对吧?嗯,这样的话也会有问题的,是什么字符长度限制错误,所以呢,这个时候的话,你就需要干什么呢,你就需要去做一些东西,比如说我们拆开一下啊,Try catch一下啊try catch一下啊。
18:17
啊,如果说你是那种啊,好,出来开一下我们这个cashche拿出来是什么个值啊,怎么个回事儿,怎么catchche一下,如果出现问题的话,我们直接能够在catchche里边去捕获到啊这些信息,那么我们就能够直接去根据捕货的信息去查看,比如说我们把一些关键词,比如说字符串长度限制错误,然后我们捕货到,然后我们去呃提提醒用户,然后说字符串的类型有有限制,比如说需要填两个以上,5个以下,然后这样子就可以了啊,我们所以可以通过呃在patch里面直接去补货就能够实现啊一些呃边界条件的一些嗯提醒,那么其他的都是一样的,我们通过创建多条,更新多条,以及呃以及呃其他的一些内容啊。
19:18
一其他的一些响应啊,我们其实都是可以在这一个叫什么那文档里,我们直接能够啊粘贴啊,然后自己修改就可以了,云函数里其实是一样的云函数你需要去安装,呃,除了自带的微信serve SDK之外,你还是要安装刚才那个npi安安安装一个步骤,把install安装的一个步骤,然后正常去用就可以了,然后呢,这个时候就什么就不需要什么微信点models去接这个了,然后直接去用就可以了,在一个文件里,函数文件里一般没什么问题,在外部页面里其实问题也是一样的,然后呢,是使用的cloud base jssdk, 然后呢去通过匿名登录或者是其他的登录方式来去登录,就能够去操作数据了,那么这里的话整个数据模型,呃,比较重要的话就是如何在使用方面,然后我本节课程主要给大家去演示如何在小程序中使用,以及如何去通过NPM包,然后去生成一个SDK,然后去把它。
20:18
放在自己的这一个项目里面,使得整个项目变得更简洁,整体我们这些课程主要给大家演示到这里,如果大家再去使用模型中有任何的问题,嗯,可以在官方交流群里联系我们,然后我们来进行相应的解答和处理,好,谢谢大家,我们本节课程结束。
我来说两句