微信小程序3-云开发
云开发 ?开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力
?云开发提供的几大基础能力:
??1.云函数:无需自建服务器
??2.数据库:无需自建数据库
??3.储存:无需自建存储和 CDN
??4.云调用:原生微信服务集成
1.数据库
1-1增删改查
1-1-1初始化 ?在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用
?const db = wx.cloud.database()
?获取其它环境的数据库引入:
const testDB = wx.cloud.database({
//env为环境名
env: 'test'
})
1-1-2 添加数据 【微信小程序3-云开发】创建集合
文章图片
?
add
方法添加数据//collection内添加的是 集合名
//add方法用来往指定集合中添加一条数据
db.collection('...').add({
// data 字段表示需新增的 JSON 数据
data: {},
//添加成功后执行的函数
success: function(res) {
// res 是一个对象,其中有 _id 字段标记刚创建的记录的 id
console.log(res)
}
})
?只要传入的对象中没有
success
,fail
或complete
,add方法就会返回一个Promisedb.collection('...').add({
data: {}
}).then(res=>{
console.log(res)
})
1-1-3删除数据 ?
remove
方法删除一条数据
// collection同上 doc中添加的是生成数据后其中的 _id的 属性值
db.collection('...').doc('...').remove({
success: function(res) {
console.log(res.data)
}
})
1-1-4更新数据 ?
update
方法,局部更新,更新一条数据或一个集合中的数据db.collection('...').doc('...').update({
// data 传入需要局部更新的数据
data: {
// 表示将 done 字段置为 true
done: true
},
success: function(res) {
console.log(res)
}
})
1-1-5查询数据 ?
get
方法,获取一条数据获取一条数据
db.collection('...').doc('...').get({
success: function(res) {
// res.data 包含该记录的数据
console.log(res.data)
}
})
获取多条数据,通过where方法
where方法中可以理解为筛选条件
db.collection('...').where({
sex:'男',
age: 20
})
.get({
success: function(res) {
// res输出的数据为所有年龄大于20的男性
console.log(res.data)
}
})
获取一个集合的数据
db.collection('...').get({
success: function(res) {
// res是一个包含集合中有权限访问的所有记录的数据,不超过 20 条
console.log(res.data)
}
})
1-1-6 查询指令 ?这些指令都依赖
db.command
对象1.eq 等于
2.neq 不等于
3.lt 小于
4.lte 小于或等于
5.gt 大于
6.gte 大于或等于
7.in 字段值在给定数组中
8.nin 字段值不在给定数组中
2.云函数 ?云函数即在云端(服务器端)运行的函数
?在项目根目录找到
project.config.json
文件,新增 cloudfunctionRoot
字段,指定本地已存在的目录作为云函数的本地根目录云函数模板
// 云函数入口文件
const cloud = require('wx-server-sdk')
//先初始化,再执行别的操作
cloud.init()
//使用增删改查功能前先声明
const db = cloud.database();
const _ = db.command;
// 云函数入口函数
//event 是触发云函数的事件
//context 对象包含了此处调用的调用信息和运行状态
//函数内可以对数据库的数据进行操作
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
?在小程序中调用云函数
wx.cloud.callFunction({
// 云函数名称
name: '...',
// 传给云函数的参数
data: {
a: 1,
b: 2,
},
success: function(res) {
console.log(res) // 3
},
fail: console.error
})
推荐阅读
- 一个小故事,我的思考。
- 家乡的那条小河
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 昨夜小楼听风
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 2019.4.18感恩日记
- 那件我们忽略的小事叫感恩
- 你有婚内虐待行为吗()