微信小程序云開發(fā)學(xué)習筆記(一)云數(shù)據(jù)庫

title: 微信小程序云開發(fā)學(xué)習筆記(一)云數(shù)據(jù)庫

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

tags:

- 微信小程序云開發(fā)

- 入門

categories: 微信小程序

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

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

云開發(fā):https://www.bilibili.com/video/BV1pE411C7Ca?from=search&seid=14303234966957086491

云開發(fā)學(xué)習代碼: D:\code is here\微信小程序云開發(fā)學(xué)習

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

云開發(fā)配置的環(huán)境:cloud-learning

云開發(fā)環(huán)境初始化準備

需要:

APPID

操作:

在創(chuàng)建項目時昨登,填入APPID并選擇不使用云函數(shù)

進入到開發(fā)者頁面趾代,點擊左上角的云開發(fā)并選擇開通

設(shè)置云開發(fā)環(huán)境名稱贯底,可以任意填寫

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

在打開的云開發(fā)控制臺中點擊設(shè)置丰辣,新建一個環(huán)境ID

app.js中刪除所有代碼,只保留env即環(huán)境ID

App({

? onLaunch: function () {

?? //云開發(fā)環(huán)境初始化

?? wx.cloud.init({

? ?? env:"cloud-learning-i44qm"

?? })

? }

})

在根目錄下創(chuàng)建文件夾(目錄)cloud

云數(shù)據(jù)庫

新增固定的數(shù)據(jù)

效果:通過點擊一個按鍵可以向云數(shù)據(jù)庫中新增固定字段的內(nèi)容

實現(xiàn):

在index.wxml中禽捆,加入如下代碼

<button bindtap="addData">新增數(shù)據(jù)</button>

點擊云開發(fā)-->數(shù)據(jù)庫-->創(chuàng)建集合testlist

在index.js中加入如下代碼

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

Page({

? addData(){

?? console.log('調(diào)用添加數(shù)據(jù)的方法')

?? DB.add({

? ?? data:{

? ? ?? name:'panda bear',

? ? ?? price:9999

? ?? },

? ?? success(res) {

? ? ?? console.log("成功", res)

? ?? },

? ?? fail(res) {

? ? ?? console.log("失敗", res)

? ?? }

?? })

? }

})

測試:點擊新增數(shù)據(jù)按鈕笙什,發(fā)現(xiàn)控制臺上有相應(yīng)輸出,再進入到云開發(fā)的數(shù)據(jù)庫頁面胚想,發(fā)現(xiàn)上述字段已新增

新增用戶輸入的不確定數(shù)據(jù)

效果:用戶通過輸入想新增的數(shù)據(jù)并點擊確定新增按鍵琐凭,即可向云數(shù)據(jù)庫中新增用戶想新增的數(shù)據(jù)

實現(xiàn):

在index.wxml中加入如下代碼

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

<text>\n</text>

<input placeholder="輸入年齡" bindinput="addAge"></input>

<text>\n</text>

<button bindtap="addData" type="primary">新增數(shù)據(jù)</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('調(diào)用添加數(shù)據(jù)的方法')

?? DB.add({

? ?? data: {

? ? ?? name: name,

? ? ?? age: age

? ?? },

? ?? success(res) {

? ? ?? console.log("添加數(shù)據(jù)成功", res)

? ?? },

? ?? fail(res) {

? ? ?? console.log("添加數(shù)據(jù)失敗", res)

? ?? }

?? })

? }

})

測試:輸入數(shù)據(jù)后,點擊新增數(shù)據(jù)按鈕浊服,發(fā)現(xiàn)控制臺上有相應(yīng)輸出统屈,再進入到云開發(fā)的數(shù)據(jù)庫頁面胚吁,發(fā)現(xiàn)輸入的字段已新增

查找已有的數(shù)據(jù)

效果:通過點擊一個按鍵可以查詢云數(shù)據(jù)庫中的內(nèi)容

實現(xiàn):

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

<button bindtap="getData">查詢數(shù)據(jù)</button>

在index.js中加入如下代碼

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

Page({

? getData() {

?? console.log('調(diào)用查詢數(shù)據(jù)的方法')

?? DB.get({

? ?? success(res){

? ? ?? console.log('查詢數(shù)據(jù)成功',res)

? ?? }

?? })

? }

})

測試:點擊查詢數(shù)據(jù)按鈕愁憔,發(fā)現(xiàn)控制臺上有相應(yīng)輸出

通過ID刪除數(shù)據(jù)

效果:用戶通過輸入想刪除數(shù)據(jù)的ID并點擊確定刪除按鍵腕扶,即可刪除云數(shù)據(jù)庫中用戶想刪除的數(shù)據(jù)

實現(xiàn):

在index.wxml中加入如下代碼

<input placeholder="要刪除數(shù)據(jù)的ID" bindinput="delDataInput"></input>

<text>\n</text>

<button bindtap="delData" type="primary">刪除數(shù)據(jù)</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('調(diào)用刪除數(shù)據(jù)的方法')

?? DB.doc(id).remove({

? ?? success(res) {

? ? ?? console.log('刪除數(shù)據(jù)成功', res.data)

? ?? }

?? })

? }

})

測試:輸入想刪除數(shù)據(jù)的ID后(注意不要帶有引號""),點擊確定刪除按鍵吨掌,發(fā)現(xiàn)控制臺上有相應(yīng)輸出半抱,再進入到云開發(fā)的數(shù)據(jù)庫頁面,發(fā)現(xiàn)輸入id對應(yīng)的該條數(shù)據(jù)已刪除

通過屬性刪除數(shù)據(jù)

效果:用戶通過輸入想刪除數(shù)據(jù)的name的值并點擊確定刪除按鍵膜宋,即可刪除云數(shù)據(jù)庫中用戶想刪除的數(shù)據(jù)

實現(xiàn):

在index.wxml中加入如下代碼

<input placeholder="輸入要刪除數(shù)據(jù)的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('調(diào)用屬性刪除數(shù)據(jù)的方法')

?? DB.where({

? ?? name: nameDelete

?? }).remove({

? ?? success(res) {

? ? ?? console.log('刪除數(shù)據(jù)成功', res.data)

? ?? },

? ?? fail(res) {

? ? ?? console.log("刪除數(shù)據(jù)失敗", res)

? ?? }

?? })

? }

})

測試:輸入想刪除數(shù)據(jù)的name的值后(注意不要帶有引號"")窿侈,點擊確定刪除按鍵,發(fā)現(xiàn)控制臺上有相應(yīng)輸出秋茫,再進入到云開發(fā)的數(shù)據(jù)庫頁面史简,發(fā)現(xiàn)輸入的想刪除數(shù)據(jù)的name的值對應(yīng)的該條數(shù)據(jù)已刪除另:如果name為abcd的有多個數(shù)據(jù),則全部name為abcd的數(shù)據(jù)都會被刪除肛著,如下圖:

修改更新數(shù)據(jù)

更新有兩個乘瓤,updata和set,分別為:update:局部更新一個或多個記錄set:替換更新一個記錄此處演示update

效果:用戶通過輸入數(shù)據(jù)ID以及修改后的name的值并點擊修改更新數(shù)據(jù)按鍵策泣,即可修改更新數(shù)據(jù)云數(shù)據(jù)庫中用戶想修改更新數(shù)據(jù)的數(shù)據(jù)

實現(xiàn):

在index.wxml中加入如下代碼

<input placeholder="輸入要更新的數(shù)據(jù)的ID" bindinput="updateID"></input>

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

<button bindtap="updateData" type="primary">修改更新數(shù)據(jù)</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('調(diào)用修改更新數(shù)據(jù)的方法')

?? DB.doc(updateID).update({

? ?? data: {

? ? ?? name: updateValue

? ?? },

? ?? success(res) {

? ? ?? console.log('修改更新數(shù)據(jù)成功', res.data)

? ?? },

? ?? fail(res) {

? ? ?? console.log("修改更新數(shù)據(jù)失敗", res)

? ?? }

?? })

? }

})

測試:輸入數(shù)據(jù)ID以及修改后的name的值并點擊修改更新數(shù)據(jù)按鍵衙傀,發(fā)現(xiàn)控制臺上有相應(yīng)輸出,再進入到云開發(fā)的數(shù)據(jù)庫頁面萨咕,數(shù)據(jù)已修改更新

小程序云開發(fā)數(shù)據(jù)庫的增刪改查已經(jīng)全部完成统抬!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市危队,隨后出現(xiàn)的幾起案子聪建,更是在濱河造成了極大的恐慌,老刑警劉巖茫陆,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件金麸,死亡現(xiàn)場離奇詭異,居然都是意外死亡簿盅,警方通過查閱死者的電腦和手機挥下,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桨醋,“玉大人棚瘟,你說我怎么就攤上這事∠沧睿” “怎么了偎蘸?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我迷雪,道長限书,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任章咧,我火速辦了婚禮蔗包,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘慧邮。我一直安慰自己调限,他們只是感情好,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布误澳。 她就那樣靜靜地躺著耻矮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忆谓。 梳的紋絲不亂的頭發(fā)上裆装,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音倡缠,去河邊找鬼哨免。 笑死,一個胖子當著我的面吹牛昙沦,可吹牛的內(nèi)容都是我干的琢唾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼盾饮,長吁一口氣:“原來是場噩夢啊……” “哼采桃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丘损,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤普办,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后徘钥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衔蹲,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年呈础,在試婚紗的時候發(fā)現(xiàn)自己被綠了舆驶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡猪落,死狀恐怖贞远,靈堂內(nèi)的尸體忽然破棺而出畴博,到底是詐尸還是另有隱情笨忌,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布俱病,位于F島的核電站官疲,受9級特大地震影響袱结,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜途凫,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一垢夹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧维费,春花似錦果元、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阅畴,卻和暖如春倡怎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贱枣。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工监署, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人纽哥。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓钠乏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親春塌。 傳聞我的和親對象是個殘疾皇子缓熟,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348