hbuilderX开发unicloud云函数

Hbuilder   2023-11-18 15:10   35   0  
  1. HbuilderX新建uniapp项目:

26088_9day_2268.png


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. 创建云函数:

26276_iooh_8823.png


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
};




博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。