uniCloud增删改查基本操作

uniCloud增删改查实例一、准备一个数据库目前uniCloud提供了免费的阿里云空间完全可以满足个人用户的建站使用只需要在https://unicloud.dcloud.net.cn/login申请账号就可以获得1、一个免费的云数据库,用于保存JSON格式的数据2、一个免费的存储云函数的空间,用于保存可以在云端调用修改云数据库数据的函数3、一个免费的云存储,用于保存图片、视频、文件等,并能够提供对应的访问地址事例数据库名称list如下就以这个list为原型,完成这样几个事例1、查
摘要由CSDN通过智能技术生成

uniCloud增删改查基本操作示例

演示增删改查的网站《电户号查询系统》

写在最前面


我是自学前端的小白,所以只能演示基本的操作,关于复杂的连表增删改查,还没有研究过。 就以这个demo数据库为原型,完成查询、新增、修改、删除的基本操作示例。


1、查询,①在网站初始化时需要调用查询;②用户查询电户号时,需要调用查询;③新增或删除电户信息时,需要比对数据,也需要调用查询。
2、新增,分为①在demo下,再新增_id,并添加字段和值;②在指定_id下指定位置新增。
3、更新,分为①覆盖式更新;②在同一个_id下指定位置更新数据。
4、删除,分为①指定_id全部删除;②在指定_id下,指定位置删除数据。


在云函数写好之后,还需页面调用处理返回的数据,文末有示例。


一、准备云数据库


  • 云数据库有两个,‘initial’和’demo’,后面有展开数据演示。
  • ‘initial’,用于初始化页面。
  • ‘demo’,用于增删改查。

二、编写云函数


  • uniCloud数据库,允许在网页端直接使用uniCloud.callFunction函数调用数据库的数据。

  • 但是,建议使用云函数调用,这样数据更安全。

  • 云函数的主流是路由——自动匹配对应的云函数去处理数据,我还不会,所以就写了五个云函数,在页面要用哪个就调用哪个。

  • 2.1 云函数默认目录。

    • uniCloud/cloudfunctions/云函数名称/云函数名称.js
  • 2.2 uniCloud数据库操作基于mongoDB,可以查询相关文档。

三、获取数据的云函数


await db.collection('demo').field({}).get();

3.1 初始化页面获取数据的方法

  • 初始化页面,需要调用的云数据库,名称initial,展开如下:
{
   
	"_id":"603a0b27c9e7be00013b5e33""ArrList":["沙沟村","大东沟村","罗家坡村","小山岔村","渡口村","七家洼村"]
}
	---------------华丽的---------分割线-------------
{
   
	"_id":"603a120b20be4e000120b8f6",
	"groupArr": {
   
   		"0": ["沙沟一变","沙沟二变","沙沟三变","同心一变","双明一变","双明二变"],
   		"1": ["一变","二变","三变"],
   		"2": ["一变","二变","三变","四变"],
   		"3": ["一变","二变","三变","四变","五变"]
   	--------后面-------还有------内容-------省略------
    }
}
  • 初始化云函数,名称也叫initial,代码如下:
  • get()获取的数据存放在data数组中,第一个_id的数据,就是data[0],第二个_id的数据,就是data[1]
'use strict';
const db = uniCloud.database();

exports.main = async (event, context) => {
   
	let [str] = event;
	if(str ==='initial'){
   
		let res = await db.collection('initial').field({
   _id:0,ArrList:1,'groupArr.0':1}).get();
       //get()获取的数据存放在data数组中,第一个`_id`数据,就是data[0]		
		let cunList = res.data[0].ArrList;
		//get()获取的数据存放在data数组中,第二个`_id`数据,就是data[1]
		let zuList = res.data[1].groupArr[0];
		//code的数字,只是为了前端if判断时好用,并没有什么实际意义。
			return {
   
				code:888,
				msg:'初始化数据成功',
				cunList,
				zuList
			}
		}else{
   
			return{
   
				code:400,
				msg:'您请求的数据格式有误'
			}
		}
	}
  • 前端页面调用的代码,在onLoad生命周期内,将查询的数据赋值给两个数组,再渲染到页面中(两个列表中)。
  • 页面端调用的代码this.$api.HandleUnicloud(cloudName, mydata){res=>{}},如何而来,文末有详解
export default {
   
	data() {
   
		return {
   
			cun_list: [],
			zu_list: []
			}
		}	
	onLoad() {
   
		let mydata = ['initial'];
		let cloudName = 'initial';
		this.$api.HandleUnicloud(cloudName, mydata).then(res => {
   
			this.cun_list = res.cunList;
			this.zu_list = res.zuList;
		});
	}
}

3.2 ★重点★ 查询返回指定字段的数据

  • 示例demo数据库,由六部分组成,每一个_id独立为一个单元。

demo云数据库

  • 数据库展开
{
   
	"_id":"603eeaa40daee300011f18f4",
    "villages": {
   
        "name": "沙沟村",
        "id": 0,
        "groupArr": ["沙沟一变","沙沟二变","沙沟三变","同心一变","双明一变","双明二变"],
        "group-1": [{
   "3102568889": "翟**"},{
   "3105360550": "李**"},{
   "3105360619": "马**"}
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值