微信小程序云开发学习笔记(一)云数据库

title: 微信小程序云开发学习笔记(一)云数据库

date: 2020-08-17 16:45:37

tags:

- 微信小程序云开发

- 入门

categories: 微信小程序

cover: https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=1199497718,4065398452&fm=26&gp=0.jpg

微信小程序和后台交互扫盲:https://www.bilibili.com/video/BV1jt411E7au

云开发:https://www.bilibili.com/video/BV1pE411C7Ca?from=search&seid=14303234966957086491

云开发学习代码: D:\code is here\微信小程序云开发学习

https://github.com/ZhengLin-Li/learning-miniapp-coulddevelopment

云开发配置的环境:cloud-learning

云开发环境初始化准备

需要:

APPID

操作:

在创建项目时,填入APPID并选择不使用云函数

进入到开发者页面,点击左上角的云开发并选择开通

设置云开发环境名称,可以任意填写

在project.config.json中加入字段"cloudfunctionRoot":"cloud"

在打开的云开发控制台中点击设置,新建一个环境ID

app.js中删除所有代码,只保留env即环境ID

App({

  onLaunch: function () {

   //云开发环境初始化

   wx.cloud.init({

     env:"cloud-learning-i44qm"

   })

  }

})

在根目录下创建文件夹(目录)cloud

云数据库

新增固定的数据

效果:通过点击一个按键可以向云数据库中新增固定字段的内容

实现:

在index.wxml中,加入如下代码

<button bindtap="addData">新增数据</button>

点击云开发-->数据库-->创建集合testlist

在index.js中加入如下代码

const DB = wx.cloud.database().collection("testlist")

Page({

  addData(){

   console.log('调用添加数据的方法')

   DB.add({

     data:{

       name:'panda bear',

       price:9999

     },

     success(res) {

       console.log("成功", res)

     },

     fail(res) {

       console.log("失败", res)

     }

   })

  }

})

测试:点击新增数据按钮,发现控制台上有相应输出,再进入到云开发的数据库页面,发现上述字段已新增

新增用户输入的不确定数据

效果:用户通过输入想新增的数据并点击确定新增按键,即可向云数据库中新增用户想新增的数据

实现:

在index.wxml中加入如下代码

<input placeholder="输入名字" bindinput="addName"></input>

<text>\n</text>

<input placeholder="输入年龄" bindinput="addAge"></input>

<text>\n</text>

<button bindtap="addData" type="primary">新增数据</button>

在index.js中加入如下代码

const DB = wx.cloud.database().collection("list")

let name = ''

let age = ''

Page({

  addName(event){

   //console.log(event.detail.value)

   name = event.detail.value

  },

  addAge(event){

   //console.log(event.detail.value)

   age = event.detail.value

  },

  addData() {

   console.log('调用添加数据的方法')

   DB.add({

     data: {

       name: name,

       age: age

     },

     success(res) {

       console.log("添加数据成功", res)

     },

     fail(res) {

       console.log("添加数据失败", res)

     }

   })

  }

})

测试:输入数据后,点击新增数据按钮,发现控制台上有相应输出,再进入到云开发的数据库页面,发现输入的字段已新增

查找已有的数据

效果:通过点击一个按键可以查询云数据库中的内容

实现:

在index.wxml中,加入如下代码

<button bindtap="getData">查询数据</button>

在index.js中加入如下代码

const DB = wx.cloud.database().collection("testlist")

Page({

  getData() {

   console.log('调用查询数据的方法')

   DB.get({

     success(res){

       console.log('查询数据成功',res)

     }

   })

  }

})

测试:点击查询数据按钮,发现控制台上有相应输出

通过ID删除数据

效果:用户通过输入想删除数据的ID并点击确定删除按键,即可删除云数据库中用户想删除的数据

实现:

在index.wxml中加入如下代码

<input placeholder="要删除数据的ID" bindinput="delDataInput"></input>

<text>\n</text>

<button bindtap="delData" type="primary">删除数据</button>

在index.js中加入如下代码

const DB = wx.cloud.database().collection("list")

let id = ''

Page({

  delDataInput(event){

   //console.log(event.detail.value)

   id = event.detail.value

  },

  delData() {

   console.log('调用删除数据的方法')

   DB.doc(id).remove({

     success(res) {

       console.log('删除数据成功', res.data)

     }

   })

  }

})

测试:输入想删除数据的ID后(注意不要带有引号""),点击确定删除按键,发现控制台上有相应输出,再进入到云开发的数据库页面,发现输入id对应的该条数据已删除

通过属性删除数据

效果:用户通过输入想删除数据的name的值并点击确定删除按键,即可删除云数据库中用户想删除的数据

实现:

在index.wxml中加入如下代码

<input placeholder="输入要删除数据的name" bindinput="delDataInputName"></input>

<text>\n</text>

<button bindtap="delDataByProperty" type="primary">通过属性删除</button>

在index.js中加入如下代码

const DB = wx.cloud.database().collection("list")

let nameDelete = ''

Page({

  delDataInputName(event){

   //console.log(event.detail.value)

   nameDelete = event.detail.value

  },


  delDataByProperty() {

   console.log('调用属性删除数据的方法')

   DB.where({

     name: nameDelete

   }).remove({

     success(res) {

       console.log('删除数据成功', res.data)

     },

     fail(res) {

       console.log("删除数据失败", res)

     }

   })

  }

})

测试:输入想删除数据的name的值后(注意不要带有引号""),点击确定删除按键,发现控制台上有相应输出,再进入到云开发的数据库页面,发现输入的想删除数据的name的值对应的该条数据已删除另:如果name为abcd的有多个数据,则全部name为abcd的数据都会被删除,如下图:

修改更新数据

更新有两个,updata和set,分别为:update:局部更新一个或多个记录set:替换更新一个记录此处演示update

效果:用户通过输入数据ID以及修改后的name的值并点击修改更新数据按键,即可修改更新数据云数据库中用户想修改更新数据的数据

实现:

在index.wxml中加入如下代码

<input placeholder="输入要更新的数据的ID" bindinput="updateID"></input>

<input placeholder="输入更新后的name的值" bindinput="updateValue"></input>

<button bindtap="updateData" type="primary">修改更新数据</button>

在index.js中加入如下代码

const DB = wx.cloud.database().collection("list")

let updateID = ''

let updateValue = ''

Page({

  updateID(event) {

   console.log(event.detail.value)

   updateID = event.detail.value

  },

  updateValue(event) {

   console.log(event.detail.value)

   updateValue = event.detail.value

  },


  updateData() {

   console.log('调用修改更新数据的方法')

   DB.doc(updateID).update({

     data: {

       name: updateValue

     },

     success(res) {

       console.log('修改更新数据成功', res.data)

     },

     fail(res) {

       console.log("修改更新数据失败", res)

     }

   })

  }

})

测试:输入数据ID以及修改后的name的值并点击修改更新数据按键,发现控制台上有相应输出,再进入到云开发的数据库页面,数据已修改更新

小程序云开发数据库的增删改查已经全部完成!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270