广告
返回顶部
首页 > 资讯 > 精选 >【云开发】小程序端操作数据库详解
  • 670
分享到

【云开发】小程序端操作数据库详解

数据库小程序vscode 2023-08-18 13:08:10 670人浏览 安东尼
摘要

文章目录 云数据库云数据库简介手动操作数据库小程序端操作数据库🎲添加数据🎲删除数据🎲修改数据🎲查询数据 云数据库 云数据库简介 云开发中的数据库是

数据库

数据库简介

云开发中的数据库是一个JSON类型的数据库:

开发提供了一个文档型数据库,类似于mongoDB,里面存放的是一条条JSON格式的对象;

一个数据库可以包含多个集合,一个集合中包含多个jsON对象;

提供方便的api调用:学习这些API即可;

提供了小程序端和服务器端(云函数)中调用的区分;

关系型文档型
数据库 database数据库 database
表 table集合 collection
行 row记录record / doc
列 column字段 field

手动操作数据库

方式一

控制台操作: 我们可以直接向数据库输入想要添加的数据, 操作步骤如下

创建集合

在这里插入图片描述

点击添加记录, 创建一条数据, 向记录在添加字段确定即可

例如下面图片, 其实可以理解我们看成想数据库添加了一个student对象, 对象在name、age、friend属性, 而friend属性是一个对象

在这里插入图片描述

方式二

我们也可以将网上获取的数据下载下来, 直接导入, 操作步骤如下

先从网上找到要保存的数据, 例如我是在斗鱼移动端找的数据

在这里插入图片描述

找到想要保存进数据库的数据后, 右键在新的网页打开, 然后将数据下载下来

在这里插入图片描述

在这里插入图片描述

注意: 下载完成后并不能直接导入, 数据库对导入的数据会有格式要求, 我们将下载的文件在vscode中打开

打开后将我下面圈中的最外层的大括号中括号删除

在这里插入图片描述

在这里插入图片描述

每一条大括号数据中间是由逗号分隔的, 我们也需要删除, 在vscode输入ctrl + f 查找 }, 替换为 }点击全部替换即可

在这里插入图片描述

替换完成后保存, 点击控制台, 我们新建一个集合, 在新的集合中导入, 选择刚刚修改已下载的文件, 就可以成功导入

在这里插入图片描述

类似如下的显式就表示添加成功

在这里插入图片描述

小程序端操作数据库

在真实的项目中, 我们更多的是在小程序端通过代码来操作数据库; 而对数据库的操作一般是增、删、改、查, 接下来我就从这四个方面, 为大家介绍如何在小程序端操作云数据库

接下来我会通过四个按钮的点击分别进行增删改查的演示

<button type="primary" bindtap="onADDDataTap">增加数据button><button type="primary" bindtap="onDeleteDataTap">删除数据button><button type="primary" bindtap="onUpDataTap">改变数据button><button type="primary" bindtap="onQueryDataTap">查询数据button>
Page({onAddDataTap() {},onDeleteDataTap() {},onUpDataTap() {},onQueryDataTap() {}})

操作数据库的调用过程:

在全局通过APIwx.cloud.database()获取数据库对象

通过获取到的数据库对象,获取操作的集合db.collection("集合名")

拿到集合后就可以对该集合进行增删改查的操作, 实例代码如下

// 1.获取到当前环境的数据库对象const db = wx.cloud.database()// 2.获取到要操作的集合const studentsCol = db.collection("students")Page({onAddDataTap() {},onDeleteDataTap() {},onUpDataTap() {},onQueryDataTap() {}})

🎲添加数据

向数据库添加数据是通过集合.add()方法, 注意要添加的数据应写在方法的data选项中

onAddDataTap() {  // 调用add方法向数据库添加数据  studentsCol.add({    // 添加的数据需要写在方法的data选项中    data: {      name: "abc",      age: 101,      height: 1.88,      friend: {        name: "cbd",        age: 102      }    }  })}

添加的数据我们正常写js对象即可, 会自动转换成json格式添加到数据库中, 无需我们亲自操作

编写完成后, 点击按钮就会添加到数据库中, 效果如下:

在这里插入图片描述

但是目前我们验证数据是否操作成功是自己操作后台来验证的, 而并不是在小程序端验证是否添加成功

在小程序端, 我们是可以通过add获取操作后的回调结果:

基于回调函数:传入success、fail、complete选项可以获取回调结果

onAddDataTap() {// 调用add方法向数据库添加数据studentsCol.add({// 添加的数据需要写在方法的data选项中data: {name: "abc",age: 101,height: 1.88,friend: {name: "cbd",age: 102}},      // 回调函数获取结果success: (res) => {console.log(res);},})}

基于Promise:使用then、catch、finally也可以获取回调结果

onAddDataTap() {// 调用add方法向数据库添加数据studentsCol.add({// 添加的数据需要写在方法的data选项中data: {name: "abc",age: 101,height: 1.88,friend: {name: "cbd",age: 102}}    // promise获取结果}).then(res => {console.log(res);})}

🎲删除数据

对记录使用remove方法可以删除该条记录, 在删除之前, 我们需要通过doc方法找到某一条数据, doc方法要求传入记录的id

删除数据操作也会有返回结果, 同样可以通过回调函数或者promise获取

目前我们在小程序端是没有修改数据的权限, 是无法删除的, 需要在云开发后台进行权限设置, 如下操作

点击数据库中的数据权限

在这里插入图片描述

再点击自定义安全规则, 将read和write属性都设置为true

在这里插入图片描述

现在点击按钮, 执行代码即可完成删除操作

onDeleteDataTap() {  // 明确的删除某一条数据  studentsCol.doc("058dfefe6308b8c616dee1082727ae7f").remove().then(res => {    console.log(res);  })}

🎲修改数据

修改数据有两种方式:

update:更新(或者增加)某一个字段

onUpDataTap() {  // 表示数据只会更新age字段, 其他字段不会改变  studentsCol.doc("0ab5303b6308c4a5187cf22e1df7d0c8").update({    data: {      age: 50    }  }).then(res => {    console.log(res);  })}
onUpDataTap() {  // 表示选中数据会增加一个abc字段  studentsCol.doc("0ab5303b6308c4a5187cf22e1df7d0c8").update({    data: {      abc: "哈哈哈"    }  }).then(res => {    console.log(res);  })}

set: 使用设置的新对象替换原来对象

onUpDataTap() {  // 表示替换之前的对象, 修改后的对象只会有age字段  studentsCol.doc("0ab5303b6308c4a5187cf22e1df7d0c8").set({    data: {      age: 50    }  }).then(res => {    console.log(res);  })}

🎲查询数据

查询数据有如下方式查询, 接下来分别演示查询数据的方式

方式一:通过ID查询精确的某一条数据;

使用doc查询ID

// 根据id查询数据, get表示获取某一条数据  studentsCol.doc("16db756f6308c4a41275f2f80cd1ef66").get().then(res => {    console.log(res);  })

方式二:根据条件查询满足条件的数据;

使用where作为条件

// 查询多条数据, 表示查询age为101的数据studentsCol.where({  age: 101}).get().then(res => {  console.log(res);})

方式三:通过指令过滤数据;

使用db.command的指令, 数据库 API 提供了大于、小于等多种查询指令,这些指令都暴露在 db.command 对象上

// 获取查询指令对象const cmd = db.command// 查询age大于50的数据studentsCol.where({  age: cmd.gt(50)}).get().then(res => {  console.log(res);})

常见的查询指令API

查询指令说明
eq等于
neq不等于
lt小于
lte小于或等于
gt大于
gte大于或等于
in字段值在给定数组
nin字段值不在给定数组中

方式四:通过正则表达式匹配符合的数据;

使用db.RegExp创建正则规则

// 表示使用正则表达式, 匹配名称有包含字母a的, 不区分大小写studentsCol.where({  name: db.RegExp({    regexp: "a",    options: "i"  })}).get().then(res => {  console.log(res);})

也可以直接使用原生的正则进行匹配

// 表示使用正则表达式, 匹配名称有包含字母a的, 不区分大小写studentsCol.where({  name: /a/i}).get().then(res => {  console.log(res);})

方式五:获取整个集合的数据(小程序端一次性最多20条,云函数中可以获取100条);

直接调用get, 表示从头到尾依次拿集合中的数据

// 从头到尾依次获取集合中的数据studentsCol.get().then(res => {  console.log(res);})

方式六:分页查询数据

使用skip、limit

// 表示跳过0条数据, 获取20条数据, 第一页studentsCol.skip(0).limit(20).get().then(res => {  console.log(res);})// 表示跳过20条数据, 获取20条数据, 第二页studentsCol.skip(0).limit(20).get().then(res => {  console.log(res);})

方式七:数据排序

使用orderBy, 需要指定升序(asc)还是降序(desc)

// 表示根据age进行升序排序studentsCol.orderBy("age", "asc").get().then(res => {  console.log(res);})

方式八: 过滤字段

使用field可以过滤字段

// 表示只会显式name和age字段studentsCol.field({  name: true,  age: true}).get().then(res => {  console.log(res);})

来源地址:https://blog.csdn.net/m0_71485750/article/details/126551404

--结束END--

本文标题: 【云开发】小程序端操作数据库详解

本文链接: https://www.lsjlt.com/news/374036.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【云开发】小程序端操作数据库详解
    文章目录 云数据库云数据库简介手动操作数据库小程序端操作数据库🎲添加数据🎲删除数据🎲修改数据🎲查询数据 云数据库 云数据库简介 云开发中的数据库是...
    99+
    2023-08-18
    数据库 小程序 vscode
  • 【云开发】- 在小程序端操作云存储
    文章目录 云存储介绍手动操作云存储小程序端操作云存储上传文件下载文件删除文件获取临时链接 云存储介绍 云存储用于将文件存储到云端: 云存储提供高可用、高稳定、强安全的云端存储...
    99+
    2023-09-02
    小程序
  • 阿里云数据库并发操作详解
    阿里云数据库是阿里云推出的一种云数据库服务,具有高效、稳定、安全等特性。在多用户同时访问数据库时,可能会出现并发操作的问题。本篇文章将详细解释阿里云数据库的并发操作。 一、什么是数据库并发并发是指在同一时间内,多个用户同时对同一数据库资源进...
    99+
    2023-11-07
    阿里 详解 操作
  • 小程序云开发数据库的示例分析
    小编给大家分享一下小程序云开发数据库的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在云控制台操作云数据库,即创建数据库...
    99+
    2022-10-19
  • 小程序开发之云函数的使用教程详解
    目录1、云函数1.1 云函数API和云函数创建2、云函数案例1、云函数 云函数是部署在云端的函数,他和小程序本地的函数存在很大的区别,云函数应用涉及云端云函数定义和本地引用云端云函数...
    99+
    2022-11-13
  • 详解小程序云开发的示例分析
    小编给大家分享一下详解小程序云开发的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!背景最近小程序非常的火,应公司业务发展要求,开发维护了几款小程序,公司开发的小程序都是由后端提供的...
    99+
    2022-10-19
  • 微信小程序云开发中如何修改云数据库的数据
    小编给大家分享一下微信小程序云开发中如何修改云数据库的数据,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!小程序代码中无法直接修改...
    99+
    2022-10-19
  • 微信小程序云开发数据库的示例分析
    小编给大家分享一下微信小程序云开发数据库的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!开发者可以使用云开发开发微信小程...
    99+
    2022-10-19
  • 数据库初始化及数据库服务端操作详解
    目录为什么要学习数据库?数据库的好处:数据库的概念:SQL语言的介绍SQL的优点数据库存储数据的原理MySQL服务端的操作1.服务端的登陆和退出2.MYSQL常见命令为什么要学习数据...
    99+
    2022-11-12
  • 阿里云拷数据库操作详解
    阿里云数据库是阿里云提供的一项重要服务,提供了强大的数据库管理能力。本文将详细介绍如何使用阿里云拷数据库的操作方法,包括准备数据、选择拷贝方式、配置参数、执行拷贝操作以及注意事项。 一、准备数据首先,你需要准备要拷贝的数据库。这可能包括数据...
    99+
    2023-10-30
    阿里 详解 操作
  • 阿里云数据库还原数据操作详解
    在使用阿里云数据库的过程中,有时可能会遇到数据丢失或损坏的情况。此时,就需要对数据库进行还原操作,以恢复数据的完整性和可用性。本文将详细介绍阿里云数据库还原数据的操作流程,帮助读者更好地理解和操作。 一、阿里云数据库还原数据的操作步骤登录阿...
    99+
    2023-10-30
    阿里 详解 操作
  • 微信小程序访问mysql数据库流程详解
    目录1 开通云上的mysql2 创建自定义连接器3 创建云函数4 安装依赖5 出参映射6 在小程序中使用连接器总结1 开通云上的mysql 经过询价,我发现阿里云的数据库是比较便宜的...
    99+
    2022-11-13
    微信小程序访问mysql数据库 小程序 mysql
  • 低门槛开发iOS、Android、小程序应用的前端框架详解
    现如今跨平台开发技术已不是什么新鲜话题了,在市面上也有一些开源的框架可供选择,然而技术成熟、产品服务健全的平台并不多,其中也不乏推陈出新的框架值得关注。 比如最近使用的AVM,由AP...
    99+
    2022-11-12
  • MySQL学习之数据库操作DML详解小白篇
    目录1.插入语句1.1插入一行1.2插入多行1.3插入查询语句2.修改语句2.1修改单表记录2.2修改多表记录3.删除语句3.1方式1使用delete删除3.2方式2使用t...
    99+
    2022-11-12
  • Qt操作SQLite数据库的教程详解
    目录0.前言1.驱动2.初相遇3.创建表4.执行增删改查5.进阶0.前言 SQLite是一款开源、轻量级、跨平台的数据库,无需server,无需安装和管理配置。它的设计目标是嵌入式的...
    99+
    2022-12-08
    Qt操作SQLite数据库 Qt SQLite数据库 Qt操作SQLite
  • 小程序云开发数据库关联查询的方法是什么
    小程序云开发数据库关联查询的方法是使用聚合操作来实现。具体步骤如下:1. 创建一个聚合操作对象。2. 使用lookup方法将两个集合...
    99+
    2023-05-31
    小程序云开发数据库 数据库
  • 微信小程序开发之连接本地MYSQL数据库
    一、本地搭建HTTP服务器 1.使用Node.js在本地搭建HTTP服务器 1)下载安装Node.js 网址:https://nodejs.org/en 右边是长期维护版本,左边是尝鲜版,推荐下载长期维护版本 2)安装完成后本地创建文件夹...
    99+
    2023-08-16
    数据库 微信小程序 mysql
  • 阿里云MySQL数据库降级操作详解
    在云上部署MySQL数据库的过程中,可能会遇到各种问题,例如数据库性能不佳、存储空间不足等。在这种情况下,我们需要对数据库进行降级操作,以便更好地管理和维护数据库。本文将详细介绍阿里云MySQL数据库降级的操作步骤。 一、理解降级操作 降级...
    99+
    2023-11-19
    阿里 详解 操作
  • 阿里云数据库格式化操作详解
    阿里云数据库格式化是一种用于恢复数据库正常工作状态的操作,它可以帮助用户解决数据库中存在的一些问题,如数据损坏、数据冲突等。这篇文章将详细解释阿里云数据库格式化操作的步骤和注意事项。 一、操作步骤登录阿里云数据库管理控制台。在左侧导航栏中选...
    99+
    2023-11-14
    阿里 详解 操作
  • 详解Spring Boot实战之Rest接口开发及数据库基本操作
    本文介绍了Spring Boot实战之Rest接口开发及数据库基本操作,分享给大家修改pom.xml,添加依赖库,本文使用的是mysql <dependency> <groupId>org.springframewo...
    99+
    2023-05-31
    spring boot rest
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作