今儿,先把小程序数据库逻辑说清楚了,后续再说怎么操作。
//这个编辑软件用的还不熟悉,整的比较难看,后续改进啊
理解腾讯为小程序提供的数据库呢,需要几个方面的知识,一是JSON表示法,二是小程序数据库的大概思路,传说,这个数据库,是mongoDB.
先说JSON
我在朋友圈里发过如下内容(有的语言来自互联网),很好滴诠释了JSON是什么?
从结构上看,所有的数据最终都可以分解成三种类型
第一是标量,即一个单独的字符串或数字,如成都,123等;
第二是序列,即若干相关的数据按一定顺序排在一起,又叫数组或列表,如“成都,重庆”等;
第三是映射,即一个名:值对儿,即数据有一个名称,还有一个与之相对应的值,比如“蓉城:成都”。或者加key:value
数据构成的最小单元如此简单!
有人觉得XML的生成和解析都太麻烦,所以他提出了一种简化格式,也就是JSON:
并列的数据之间用逗号(,)分隔;
映射用冒号:表示;
并列数据的集合(数组)用方括号[ ]表示;映射的集合(对象)用大括号{}表示。
记住以上4条,这就是json的全部!
再说腾讯为小程序提供的数据库,假设是mongoDB吧
它相关特性,挺牛x的,自己去百度一下吧,我的理解是:
该数据库不是关系型数据库,不能拿关系型数据库的思维来理解非关系型数据库!比如关系型数据库里面的table叫表,都有个表结构,比如有8个字段field ,每个字段都有自己的数据类型和长度,每条记录都按这结构复制,都跟这个表的结构相同。mongoDB不是!mongoDB!mongoDB!它没有这个说法,它的每个记录,是对象!每个记录的对象结构可以完全不一样!可以完全不一样!可以完全不一样!这个对象是用JSON表示的。这种不一样的结构对象,就放在同一集合(对应关系型数据库的表)里,很乱的一堆数据,没啥关系!所以叫非关系型数据库!
关系型数据库里面,xxSQL 用的最多的where 字句,其实是建立在每条记录具备相同的数据结构,如......where age >= 45....... ,是说每条记录都有个age字段,但是,非关系型数据库,没这个东西了!既然没了表结构了,那where 字句的语法就完全变了!所以,是重点学习的内容!其他增删改呀,到时好掌握,就是一条语句而已。
mongoDB数据库既然没有表结构,那建立一个表(所以人家叫集合,不叫表!)的时候,就是建一个框,一个容器,一个名字而已,跟数据结构没关系!不要总想着表结构!
每个集合(逐渐就不要叫表了啊)里面存贮的记录都是一个对象!用JSON表示法表示的对象!对象的属性依然可以是对象,可以嵌套,也不要求每条对象的属性名相同!这也带来一个查询的问题!怎么查询,也是重点要理解的!
就这么多,有点意思吧!