云数据库
云开发提供的是一个json形式的文档型数据库 相对于关系型数据库缺少表与表之间的关系例如多表联查 文档性数据库偏向于对数据的读写操作
云数据库数据类型
String:字符串
Object:对象
Bool:布尔值
Number:数字
Array:数组
GeoPoint:地理位置
Date 时间
NULL
操作云数据库
小程序控制:读写数据库受权限控制限制
云函数控制:拥有所有读写数据库权限
控制台控制:拥有所有读写数据库权限
云数据库API
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-client-api/database/
云数据库初始化
- 获取数据库的引用
wx.cloud.database
- 切换环境数据库
const testDB = wx.cloud.database({
env: ‘test-123’
}) //const 定义常量放在page外
-
创建数据库集合(表)
在对数据库进行操作之前创建集合(关系型数据库中称为表)手动创建集合
添加数据可以点击添加记录,添加字段对数据库进行操作,当对数据库进行操作的时候注意设置权限当调用函数时他会检测openid只获取当前当前登陆人插入的数据
也可以通过小程序段代码实现添加//小程序段代码实现 insert:function(){ //db.collection('名称')获取集合 db.collection('user').add( { data:{ name:'jerry', age:20 },//采用回调函数检验是否插入成功 //=>箭头函数为es6语法 sucess:res=>{ consle.log(res); }, fail:res=>{ console.log(err); } } ) }, //回调采用promise实现 insert:function(){ db.collection('user').add( { data:{ name:'jerry', age:201, } }.then(res=>{ console.log(res); }).catch(err=>{ console.log(err); }) ) }
更新数据
//小程序端实现 //更新一条数据利用id/openid 来获取记录的引用get只能获取集合数据<=20条 //方法接受一个 id 参数,指定需引用的记录 ID update:function(){ db.collection('user').doc('925f44065d9d9b6d00d096ca6bb85ea8').update( { data:{ age:33 } } ).then(res=>{ console.log(res); }).catch(err=>{ console.log(err); }) },
查找数据
//小程序端实现 //查找数据 search:function(){ db.collection('user').where( { name:'jerry' } ).get().then(res=>{ console.log(res); }).catch(err=>{ console.log(err); }); },
删除数据
//删除数据小程序端实现 delete:function(){ db.collection('user').doc('925f44065d9d9b6d00d096ca6bb85ea8').remove().then( res=>{ console.log(res); } ).catch(err=>{ console.log(err); }) },