由于是用来自己回顾巩固的,所以就不搞什么样式排版了
首先需要在unicloud的cloudfunctions文件夹里创建云函数,写好云函数在需要的地方通过
uniCloud.callFunction({
name: ""//云函数名
data: {}//参数
}).then(res =>{
})
来调用云函数
在云函数里连接数据库的方式
const db = uniCloud.database()
const dbCmd = db.command; 定义一个command变量用于操作运算符
操作user表的数据
exports.main = async (event, context) =>{
await db.collection("user").get()//获取数据
await db.collection("user").count()//计算数量
await db.collection("user").add({})//添加数据 {}为添加的参数对象
await db.collection("user").doc(id).get()//获取指定id的引用
await.db.collection("user").limit(3).get()//获取3条数据
await.db.collection("user").limit(3).skip(4).get()//跳过前面的4条数据后获取3条数据 分页功能
await.db.collection("user").orderBy("_id", "asc").get()//根据id排序,顺序排列
await.db.collection("user").orderBy("_id", "desc").get()//根据id排序,倒序排列
await.db.collection("user").field({"name": true}).get()//指定返回的name字段数据,其他都不需要
await.db.collection("user").where({}).get()//{}指定要查询的条件
await db.collection("user").doc(id).update({})//修改指定id的数据, {}为修改参数
await db.collection("user").doc(id).update({
hobby: dbCmd.unshift(["跑步","游泳"])//修改这个字段的数组 push、pop、shift
})
set与update的区别:set会将整个对象覆盖替换,update只会修改参数给出的字段
运算符查询
await.db.collection("user").where({
age: dbCmd.eq(30)// eq查询年龄等于30的数据
age: dbCmd.neq(30)//年龄不等于30的数据
age: dbCmd.gt(30)//年龄大于30的数据
age: dbCmd.gte(30)//年龄大于等于30的数据
age: dbCmd.lt(30)//年龄小于30的数据
age: dbCmd.lte(30)//年龄小于等于30的数据
age: dbCmd.in([23, 17])//年龄在数组元素的数据
age: dbCmd.nin([23, 17])//年龄不在数组元素的数据
age: dbCmd.gt(20).and(lt(50))//在年龄大于20且小于50的数据
age: dbCmd.and(dbCmd.gt(20),dbCmd.lt(50))//在年龄大于20且小于50的数据 另一种写法
age: dbCmd.or(dbCmd.lt(10),dbCmd.gt(30))//在年龄小于10或大于30的数据
}).get();
await db.collection("user").doc(id).remove()//根据id删除数据
await db.collection("user").where({}).remove()//根据条件{}删除数据
}
云函数开发完上传到云端,这样即使错删了也可以下载回来