1、云数据库
一、介绍
云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。
关系型数据库和 JSON 数据库的概念对应关系如下表:
| 关系型 | 文档型 |
|---|---|
| 数据库 database | 数据库 database |
| 表 table | 集合 collection |
| 行 row | 记录 record / doc |
| 列 column | 字段 field |
云开发数据库提供以下几种数据类型:
- String:字符串
- Number:数字
- Object:对象
- Array:数组
- Bool:布尔值
- Date:时间
- Geo:多种地理位置类型,详见
- Null
二、使用
(1、使用之前把页面创建好(我创建了home和personal):
(2、配置app.json
在“云开发”中点击数据库,创建user、image两个集合
personal.js
1 /** 2 * 初始化数据库 3 * 用evn属性可以切换属性 4 * database({evn:test}) 5 */ 6 const db = wx.cloud.database(); 7 const user = db.collection("user"); 8 // pages/personal/personal.js 9 Page({ 10 /** 11 * 页面的初始数据 12 */ 13 data: { 14 images: [] 15 }, 16 /** 17 * 插入数据 18 */ 19 insert: function(){ 20 user.add({ 21 data: { 22 name: 'hh', 23 age: 20 24 } 25 }).then(res=>{ 26 // 回调函数 27 console.log(res) 28 wx.showToast({ 29 title: 'success', 30 }) 31 }).catch(err=>{ 32 //抓取错误 33 console.log(err) 34 }) 35 }, 36 update: function(){ 37 // 根据云数据库 _id更新 38 user.doc('1acf1de95e48f2f310877a982d2de27f').update({ 39 data: { 40 age: 19, 41 name: 'mm' 42 } 43 }).then(res => { 44 console.log(res) 45 console.log('success') 46 }).catch(err => { 47 console.log(err) 48 }) 49 }, 50 select: function () { 51 user.where({ 52 name: 'hh' 53 }).get().then(res => { 54 console.log(res) 55 console.log('success') 56 }).catch(err => { 57 console.log(err) 58 }) 59 }, 60 del: function(){ 61 user.doc('1acf1de95e48f2f310877a982d2de27f').remove() 62 .then(res => { 63 console.log(res) 64 console.log('success') 65 }).catch(err => { 66 console.log(err) 67 }) 68 }, 69 /** 70 * 生命周期函数--监听页面加载 71 */ 72 onLoad: function (options) { 73 74 }, 75 76 /** 77 * 生命周期函数--监听页面初次渲染完成 78 */ 79 onReady: function () { 80 81 }, 82 83 /** 84 * 生命周期函数--监听页面显示 85 */ 86 onShow: function () { 87 88 }, 89 90 /** 91 * 生命周期函数--监听页面隐藏 92 */ 93 onHide: function () { 94 95 }, 96 97 /** 98 * 生命周期函数--监听页面卸载 99 */ 100 onUnload: function () { 101 102 }, 103 104 /** 105 * 页面相关事件处理函数--监听用户下拉动作 106 */ 107 onPullDownRefresh: function () { 108 109 }, 110 111 /** 112 * 页面上拉触底事件的处理函数 113 */ 114 onReachBottom: function () { 115 116 }, 117 118 /** 119 * 用户点击右上角分享 120 */ 121 onShareAppMessage: function () { 122 123 } 124 })
personal.wxml
1 <view>云数据库</view> 2 <button bindtap="insert">插入数据</button> 3 <button bindtap="update">更新数据</button> 4 <button bindtap="select">查询数据</button> 5 <button bindtap="del">删除数据</button>