SlideShare a Scribd company logo
1 of 25
云数据库与云函数
程序设计实践 (2022夏)
小程序
为什么要使用云开发而
非使用传统服务器?
01
小程序云开发
云开发基本上不需要学习后端,在
部署上也非常简单,而传统服务器
的部署相对费时费力。小程序云开
发也不需要域名、备案之类,比较
容易上手。
大家合理安排时间,在小学期结束
后自学并开发出一个相对完整的小
程序是没什么大问题的。
开通云服务
02
从创建小程序开始
微信开放文档(指南-起步-开始-申请账号)
https://developers.weixin.qq.com/minipr
ogram/dev/framework/
- 要使用云开发功能不能使用测试号,大家需要在官网
上注册一个自己的小程序,教程完备。
- 下载微信开发者工具
- 进入微信公众平台
https://mp.weixin.qq.com/
开发-开发管理-开发设置:appID,这是小程序的唯一标识,
需要记录。
点击不使用云服务→冗余代码较多
点击云开发进
入管理后台
开通云服务,选择基础配
置即可。
"cloudfunctionRoot":"clo
ud/",
P r o j e c t . c o n f i g . j s o n
云开发环境的初始化 m i n i p r o g r a m / a p p . j s
onLaunch: function () {
wx.cloud.init({
env: '你的环境 ID '
})
},
云数据库的使用
03
const db = wx.cloud.database().collection("数据库名称") 【数据库引用-使用collection 方法获取一
个集合的引用】
官方教程:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/init.html
建立关联 post or get
增:
db.add({
data: {
name:code,
},
success: res =>
{
console.log(res);
},
fail: err => {
console.error(err);
}
})
删:
db.doc(id).remove({
success: res =>
{
console.log(“删除成
功”,res);
},
fail: err => {
console.error(err);
}
})
通过集合上的 doc 方法来获取集合中一个指定 ID 的记录的引用
改:
db.doc(id).update({
data: {
age: 12
},
success: res =>
{
console.log(res);
},
fail: err => {
console.error(err);
}
})
查:
db.get({
success: res =>
{
console.log(res);
},
fail: err => {
console.error(err);
}
})
r e s . d a t a
c o n s o l e . l o g ( )
如何使用云函数
04
创建一个云函数
云函数的所有参数通过event传入,接收并return
写完云函数之后,只是本地修改,要生效,保存后必须上传并部署!
如何调用云函数
- name需和云函数的名称完全一致
- data里放需要传递的数据【云函数接收名称:数据】
案例:使用云函数获取用户的openid
openid可用以唯一标识用户
微信默认自动生成
如何调用?
getopenid(){
wx.cloud.callFunction({
name:"getopenid",
success(res){
console.log("获取openid成功", res.result.openid)
},
fail(res){
console.log("获取openid失败", res.result.openid)
}
})
},
阶段总结:为什么不直接使用数
据库调用方法而要使用云函数?
05
1.云开发数据库api获取数据每次只能获取20条,云函数无此限制
2.云函数获取数据库不受数据表的权限限制(api访问只能操作自己创建的数据,比如:“发表评论”
无法实现)
3.云函数可以实现的功能更多(发送邮件、短信==)
官网一些常用方法的整理
06
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/data-type.html
增:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/add.html
查:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/read.html
【一次性获取多条记录】
构成一个需满足的匹配条件,各个字段间的关系是 "与"
的关系。
查询指令:
https://developers.weixin.qq.com/miniprogram/dev/w
xcloud/guide/database/query.html
更新:
局部更新&替换更新
const _ = db.command
db.collection('todos').doc('tod
o-identifiant-
aleatoire').update({
data: {
// 表示指示数据库将字段自增
10
progress: _.inc(10)
},
success: function(res) {
console.log(res.data)
}
})
对数组进行的操作:
push、pop、shift 和 unshift
将字段更新为另一个对象:set
where后调用update方法可以对多
条数据进行更新。
同理:删除多条数据 remove
匹配数组第 n 项元素方法:
把 字段 . 下标 作为key
数组字段的第一个满足查询匹配
条件的元素(查询条件必须包含
该数组字段)
数组字段的所有元素:
const _ = db.command
db.collection('todos').
where({
scores: 20
}).update({
data: {
'scores.$': 25
}
欢迎来到软院,祝大家开发愉快!
谢谢观看
pyyi15@163.com

More Related Content

Similar to 云数据库与云函数.pptx

Huawei cloud computing
Huawei cloud computingHuawei cloud computing
Huawei cloud computingssuser220dc6
 
Ruby on rails部署
Ruby on rails部署Ruby on rails部署
Ruby on rails部署Deng Peng
 
2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟Tianwei Liu
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC
 
侯聪简历
侯聪简历侯聪简历
侯聪简历聪 侯
 
云计算的安全考虑
云计算的安全考虑云计算的安全考虑
云计算的安全考虑Hanzo
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹Philip Zheng
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote DevelopmentPhilip Zheng
 
016/5/27 NCTU IoT WorkShop
016/5/27 NCTU IoT WorkShop016/5/27 NCTU IoT WorkShop
016/5/27 NCTU IoT WorkShopczech0923
 
Webify 一键部署
Webify 一键部署Webify 一键部署
Webify 一键部署琦 胡
 
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)Zhaoyang Wang
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChineseWenlong Zhu
 
microservice-and-12factor.pdf
microservice-and-12factor.pdfmicroservice-and-12factor.pdf
microservice-and-12factor.pdfRock Sun
 
DELL CloudIQ 幫助MIS小克一手掌握IT維運 .docx
DELL CloudIQ 幫助MIS小克一手掌握IT維運 .docxDELL CloudIQ 幫助MIS小克一手掌握IT維運 .docx
DELL CloudIQ 幫助MIS小克一手掌握IT維運 .docx裝機安 Angelo
 
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法TIM WANG
 
goCloud!雲端電腦教室 20160519
goCloud!雲端電腦教室 20160519goCloud!雲端電腦教室 20160519
goCloud!雲端電腦教室 20160519Pake Cheng
 
MiCloud服務提供者訓練
MiCloud服務提供者訓練MiCloud服務提供者訓練
MiCloud服務提供者訓練Simon Su
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC
 
董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座Chui-Wen Chiu
 

Similar to 云数据库与云函数.pptx (20)

Huawei cloud computing
Huawei cloud computingHuawei cloud computing
Huawei cloud computing
 
Ruby on rails部署
Ruby on rails部署Ruby on rails部署
Ruby on rails部署
 
2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟2020 gops-旷视城市大脑私有云平台实践-刘天伟
2020 gops-旷视城市大脑私有云平台实践-刘天伟
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
侯聪简历
侯聪简历侯聪简历
侯聪简历
 
云计算的安全考虑
云计算的安全考虑云计算的安全考虑
云计算的安全考虑
 
VSCode Remote Development 介紹
VSCode Remote Development 介紹VSCode Remote Development 介紹
VSCode Remote Development 介紹
 
VSCode Remote Development
VSCode Remote DevelopmentVSCode Remote Development
VSCode Remote Development
 
016/5/27 NCTU IoT WorkShop
016/5/27 NCTU IoT WorkShop016/5/27 NCTU IoT WorkShop
016/5/27 NCTU IoT WorkShop
 
Webify 一键部署
Webify 一键部署Webify 一键部署
Webify 一键部署
 
壹點通行銷同步雲 雲端服務說明會簡報
壹點通行銷同步雲  雲端服務說明會簡報壹點通行銷同步雲  雲端服務說明會簡報
壹點通行銷同步雲 雲端服務說明會簡報
 
海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)海通证券金融云思考与实践(数据技术嘉年华2017)
海通证券金融云思考与实践(数据技术嘉年华2017)
 
zhuwenlongChinese
zhuwenlongChinesezhuwenlongChinese
zhuwenlongChinese
 
microservice-and-12factor.pdf
microservice-and-12factor.pdfmicroservice-and-12factor.pdf
microservice-and-12factor.pdf
 
DELL CloudIQ 幫助MIS小克一手掌握IT維運 .docx
DELL CloudIQ 幫助MIS小克一手掌握IT維運 .docxDELL CloudIQ 幫助MIS小克一手掌握IT維運 .docx
DELL CloudIQ 幫助MIS小克一手掌握IT維運 .docx
 
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
 
goCloud!雲端電腦教室 20160519
goCloud!雲端電腦教室 20160519goCloud!雲端電腦教室 20160519
goCloud!雲端電腦教室 20160519
 
MiCloud服務提供者訓練
MiCloud服務提供者訓練MiCloud服務提供者訓練
MiCloud服務提供者訓練
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座董大偉,Silverlight實務應用範例講座
董大偉,Silverlight實務應用範例講座
 

云数据库与云函数.pptx