uni-app的三种操作数据库方法

news2024/11/26 0:47:40

目录

前端与后端(云端)分离实现数据库的操作

1.使用云函数来操作数据库

2.使用云对象来操作数据库

前端与后端(云端)结合实现客户端操作数据库

3.使用DB Schema结构规范实现客户端对数据库的操作


欢迎大家关注:

b站:小淼前端

我会不定时的更新教程哦~

 

前端与后端(云端)分离实现数据库的操作

1.使用云函数来操作数据库

第一步:

创建一个云函数并部署

第二部:

在云函数中写入数据库的操作代码:

const db = uniCloud.database();
exports.main = async (event, context) => {
	//event为客户端上传的参数
	
	
	//返回数据给客户端
	return await db.collection("News_system").add({
		xingming:"张三"
	})
};

 第三步:

前端代码:

<template>
	<view>
		<button @click="add">添加</button>
	</view>
</template>

<script>
	// const db = uniCloud.database();
	export default {
		data() {
			return {
			}
		},
		onLoad() {

		},
		methods: {
			add(){
				// return db.collection("News_system").add({
				// 	xingming:"1111"
				// }).then(res=>{
				// 	console.log(res)
				// })
				uniCloud.callFunction({
					name:"hanshu1"
				}).then(res=>{
					console.log(res)
				})
			}

		}
	}
</script>

<style>
	
</style>

 显示数据库数据表信息添加情况:

 

2.使用云对象来操作数据库

第一步:

先创建一个云对象并写入相应的数据库操作的代码:

const db = uniCloud.database();
module.exports = {
	_before: function () { // 通用预处理器

	},
	add:()=>{
		 db.collection("News_system").add({
			nianling:16
		})
	}
}

 第二步:

将其上传部署!

第三步前端代码:

<template>
	<view>
		<button @click="add">添加</button>
	</view>
</template>

<script>
	const duixiang1 = uniCloud.importObject("duixiang1")
	// const db = uniCloud.database();
	export default {
		data() {
			return {
			}
		},
		onLoad() {

		},
		methods: {
			add(){
				duixiang1.add().then(res=>{
					console.log(res)
				})
				// return db.collection("News_system").add({
				// 	xingming:"1111"
				// }).then(res=>{
				// 	console.log(res)
				// })
				// uniCloud.callFunction({
				// 	name:"hanshu1"
				// }).then(res=>{
				// 	console.log(res)
				// })
			}

		}
	}
</script>

<style>
	
</style>

注意:我这里必选先调用一下我们写的云对象,然后调用后直接对我们新赋值的参数进行操作即可!

const duixiang1 = uniCloud.importObject("duixiang1")
duixiang1.add().then(res=>{
					console.log(res)

 回到数据库:我们可以发现我们点击按钮时,我们想添加的数据已经在我们的数据库中了!

 

前端与后端(云端)结合实现客户端操作数据库

3.使用DB Schema结构规范实现客户端对数据库的操作

第一步:

我们线在数据库中创建一个数据表。

第二步:

在 uniCloud中的database中右键,后选择下载所有DB Schema及扩展校验函数。

等在下载完毕后我们会发现

 我们的数据表:News_system已经在database中。

第三步:

然后我们打开它后,我们将原来的表文件改为:

 注意:

将: 

"read": true,
"create": true,

是将我们数据表中的权限的”读取“和”添加“打开!

properties中我们需要添加我们结合前端的需要在数据表中添加的数据(请结合第四步理解):

        "xingming": {
            "bsonType": "string",
            "title": "姓名"
        }

第四步:

<template>
	<view>
		<button @click="add">添加</button>
	</view>
</template>

<script>
	const db = uniCloud.database();
	export default {
		data() {
			return {
			}
		},
		onLoad() {

		},
		methods: {
			add(){
				return db.collection("News_system").add({
					xingming:"1111"
				}).then(res=>{
					console.log(res)
				})
			}

		}
	}
</script>

<style>
	
</style>

我们直接在前端对数据库进行一系列的操作:

const db = uniCloud.database();
				return db.collection("News_system").add({
					xingming:"1111"
				}).then(res=>{
					console.log(res)
				})

我们这里想要添加的

xingming:"1111"

要必须在第三步中的数据表中进行xingming这个参数名的配置。

如第三步中的:

        "xingming": {
            "bsonType": "string",
            "title": "姓名"
        }

回到前端页面:

我们发现,当我们点击添加时,后台已经给我们打印出来了东西,说明我们的数据表的权限已经处于打开状态,并且此时我们的想要添加的数据已经成功的添加到数据库中。

回到后端(云端)数据库:

我们可以发现,我们通过修改数据表权限的方式能实现通过纯前端的操作就可以实现对数据库进行操作!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cinemachine各组件功能介绍

官方Github地址&#xff1a;https://github.com/Unity-Technologies/com.unity.cinemachine/tree/main/com.unity.cinemachine 文档在Documentation~文件夹下。 这里主要介绍各个组件的功能&#xff0c;具体参数设置查阅文档即可。 目录 Brain Camera CinemachineVirtualC…

yolov5训练coco数据集

文章目录参考链接一、coco数据集1. 简介2. 下载3.解压后的数据4. COCO数据集(.json)训练格式转换成YOLO格式(.txt)参考链接 为YOLOv5搭建COCO数据集训练、验证和测试环境 CoCo数据集下载 一、coco数据集 1. 简介 MS COCO的全称是Microsoft Common Objects in Context&#…

前端甘特图组件开发(一)

背景 工作中需要在网页上实现甘特图&#xff0c;以展示进度数据。通过网上调研相关项目&#xff0c;找到一款 dhtmlx-gantt 组件&#xff0c;在低程度上满足项目需求&#xff0c;但在部分定制功能&#xff08;如时间轴自定义、编辑弹窗样式风格等&#xff09;并不能完全满足项…

PyCharm+PyQT5之一环境搭建

TOCPyCharmPyQT之一环境搭建 今天搭建了PyCharmPyQT之一环境&#xff0c;看到好多论坛和书籍在搭建Python环境时仍然不使用虚拟环境管理&#xff0c;这对今后环境的移植和保存是非常麻烦的&#xff0c;大家可以按以下思路管理环境。 1.先安装python3.8.2&#xff08;我用的win7…

【简单、高效、性能好】SetFit:无需Prompts的高效小样本学习

重磅推荐专栏&#xff1a; 《Transformers自然语言处理系列教程》 手把手带你深入实践Transformers&#xff0c;轻松构建属于自己的NLP智能应用&#xff01; 1. 概要 使用预训练语言模型的小样本学习&#xff08;处理只有少量标签或没有标签的数据&#xff09;已成为比较普遍的…

(附源码)计算机毕业设计Java大学生学科竞赛报名管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

【Java语言】Java类与对象的详细教程,一看就会

Java类与对象 文章目录Java类与对象1. 类与对象的初步认知2. 类和类的实例化3. 类的成员3.1 字段/属性/成员变量3.1.1认识 null3.1.2字段就地初始化3.2 方法 (method)3.3 static 关键字3.4方法调用易错区分4. 封装4.1 private实现封装4.2 getter和setter方法5.构造方法5.1 基本…

【密码学基础】Oblivious Transfer(不经意传输)

头一次开始学密码学相关的东西&#xff0c;未来的主要研究方向包括了隐私计算&#xff0c;即隐私保护下的机器学习算法。 0 举个实际的例子 引用博客OT&#xff08;Oblivious Transfer&#xff0c;不经意传输&#xff09;协议详解提到的例子&#xff0c;我们这里考虑1-out-of-…

美团应届生面试第一问:Object o = new Object()占用多少字节?

文章目录工具查看内存分配Java内存模型访问对象方式GC为什么Survivor要分为两个区域&#xff08;S0和S1&#xff09;&#xff1f;Survivor 为什么不分更多块呢&#xff1f;对象的生命周期小知识工具查看内存分配 Object o new Object();占用多少字节&#xff0c;我们借助open…

重要公告 | 论坛域名更换,请务必及时收藏

论坛的小伙伴们&#xff1a; 为进一步规范网站域名&#xff0c;自2022年11月16日起&#xff0c;“西门子低代码开发者论坛”的域名由&#xff1a;https://forum.mendix.tencent-cloud.com/&#xff0c;正式变更为&#xff1a;https://marketplace.siemens.com.cn/low-code-com…

Kamiya丨Kamiya艾美捷人和动物LBP ELISA说明书

Kamiya艾美捷人和动物LBP ELISA预期用途&#xff1a; 人和动物LBP ELISA已被开发用于定量测定天然和血清&#xff0c;血浆和培养基中的重组人LBP。也适用于牛&#xff0c;猪&#xff0c;兔和狗LBP。仅供研究使用。不用于诊断程序。 Kamiya艾美捷人和动物LBP ELISA原理&#xf…

地理计算 | 计算两个坐标点射线的交点(前方交会)

1 前言 前方交会--- 又称为测角交会&#xff0c;是指从相邻两个已知点向待定点观测两个水平角&#xff0c;用以计算待定点的坐标。 如图所示&#xff0c;点 A、B 的坐标已知。 通过观测角 A 和角 B 求出点 P 坐标的定位方法被称之为“角度前方交会”&#xff1b; 通过观测方…

汽车租赁系统毕业设计,汽车租赁管理系统设计与实现,毕业设计论文毕设作品参考

功能清单 【后台管理员功能】 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信息&#xff0c;支持删除 资讯分类&#xff1a;录入、修改、查看、删除资讯分类 录入…

代码随想录训练营day46, 单词拆分和多重背包

今天就这一道题, 但还是有难度的 单词就是物品, 字符串s就是背包, 单词能否组成字符串s, 就是问物品能不能把背包装满 确定dp数组含义: 字符串长度为i的话, dp[i]为true, 表示可以拆分, j是分割指针确定递推公式: 如果确定dp[j]是true, 且[j , i]这个区间的子串出现在字典里,…

案例-Shell定时采集数据到HDFS

1. 准备工作 创建日志文件存放的目录 /export/data/logs/log&#xff0c;执行命令&#xff1a;mkdir -p /export/data/logs/log 创建待上传文件存放的目录/export/data/logs/toupload&#xff0c;执行命令&#xff1a;mkdir -p /export/data/logs/toupload 查看创建的目录树结…

FSC在全球范围内增强品牌相关度,促进公众理解

【FSC在全球范围内增强品牌相关度&#xff0c;促进公众理解】 FSC品牌标识 “森林与共&#xff0c;生生不息”将逐渐精简&#xff0c;同时覆盖更多语种。 加深消费者对FSC的理解 近年来&#xff0c;FSC品牌认知度不断提高&#xff0c;超过半数的全球消费者认可并信任“小树”标…

为什么劝你要学习Golang以及GO语言(Go语言知识普及)

Go语言 一、 Go语言的由来 Go语言亦叫Golang语言&#xff0c;是由谷歌Goggle公司推出。 传统的语言比如c&#xff0c;大家花费太多时间来学习如何使用这门语言&#xff0c;而不是如何更好的表达写作者的思想&#xff0c;同时编译 花费的时间实在太长&#xff0c;对于编写-编译…

C语言只推荐这1本宝藏书,你读过吗?

入门的大家随便搜搜学起来都不会出错&#xff0c;进阶的推荐1本豆瓣评分9.1&#xff0c;这本经典之作真正地让人搞懂了烦人的指针。 指针为什么如此重要&#xff1f;C语言圈内有一句经典的自嘲&#xff1a;C语言就只有指针可以用了。如果你干掉struct、干掉union、干掉数组、甚…

html在线阅读小说网页制作模板 小说书籍网页设计 大学生静态HTML网页源码 dreamweaver网页作业 简单网页课程成品

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

管道通信: 有名管道 无名管道,行业大牛通通教会你

管道是一种最古老也是最基本的系统IPC形式&#xff0c;管道就像现实中的水管&#xff0c;水就像数据&#xff0c;它是消息传递的一种特殊方式&#xff0c;管道机制必须提供三方面的协调能力&#xff1a;互斥、同步和确定对方的存在。在Linux中是一种使用非常频繁的通信机制。从…