HbuilderX新建uniapp项目:
2. 新建VUE文件调用数据:
<template> <view class="content"> <image class="logo" src="/static/logo.png"></image> <view class="text-area"> <text class="title">{{title}}</text> </view> <!-- 添加信息 --> <view class="form"> <label><text>姓名</text><input v-model="form.name"/></label> <label><text>性别</text><input v-model="form.sex"/></label> <button @click="submit">提交</button> </view> <view class="list" v-for="(item,i) in list" :key="i"> <text>{{item.name}}/{{item.sex}}</text> </view> </view> </template> <script> export default { data() { return { title: 'Hello', list:[], form:{ name:'', sex:'' } } }, onLoad() { this.getData() }, methods: { //添加数据 submit(){ uniCloud.callFunction({ name:'addUser', data:this.form, success:(e)=>{ console.log(e.result); this.getData() } }) }, //查询数据 getData(){ uniCloud.callFunction({ name:'getUser', success:(e)=>{ console.log(e.result); this.list=e.result.data; } }) } } } </script> <style> </style>
3. 创建云函数:
addUser添加函数代码:
'use strict'; const db=uniCloud.database (); const userDb=db.collection('user') exports.main = async (event, context) => { //event为客户端上传的参数 // console.log('event : ', event) let addUserRes=await userDb.add(event); return addUserRes //返回数据给客户端 // return event };
delUser删除函数代码:
'use strict'; const db=uniCloud.database (); const userDb=db.collection('user') exports.main = async (event, context) => { //event为客户端上传的参数 // console.log('event : ', event) //根据ID删除某一条 let res=await userDb.doc(event.id).remove(); //根据条件删除某一条 let res=await userDb.where({"_id":"53dxeegwlegidk67"}).remove(); //或者全部删除 let res=await userDb.remove(); return res //返回数据给客户端 // return event };
updateUser修改函数代码:
'use strict'; const db=uniCloud.database (); const userDb=db.collection('user') exports.main = async (event, context) => { //event为客户端上传的参数 // console.log('event : ', event) let res=await userDb.doc(event.id).update({ name:"名称已修改" }); return res //返回数据给客户端 // return event };
getUser查询函数代码:
'use strict'; const db=uniCloud.database (); const userDb=db.collection('user') exports.main = async (event, context) => { //event为客户端上传的参数 // console.log('event : ', event) //全部数据查询 let res=await userDb.get(); return res //或者根据条件查询 let res=await userDb.where({ name:"北京" }).get(); return res //查询5条数据 let res=await userDb.limit(5).get(); return res //从第2条开始查询5条数据,并根据index进行降序排序 let res=await userDb.skip(2).limit(5).orderBy("index","desc").get(); return res //根据字段查询并显示,排除法查询 let res=await userDb.field("tel":true).get(); return res //根据索引大于10的条件查询 let res=await userDb.where({ "index":{"$gt":10} }).get(); return res //查询数据的总和 let res=await userDb.where({ "index":{"$gt":10} }).count(); return res.total //查询数据的总和,结构化使用别名返回 let {total:userTotal}=await userDb.where({ "index":{"$gt":10} }).count(); // return res.total return userTotal //查询数据的总和,使用别名user let {data:[user]}=await userDb.where({ "index":3 }).get(); // return user.data.length return user //关联表查询,使用聚合查询aggregate关联news表,将关联的数据取一个别名userInfo let rs=await userDb.aggregate().lookup({ from:"news", localField:"id", foreignField:"userid", as:'userInfo' }).end() return res //返回数据给客户端 // return event };