标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。 |
博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
欢迎 | 👍点赞、✍评论、⭐收藏 |
🚀前言
在数字化转型的浪潮中,数据的管理与应用已成为企业和开发者关注的核心。微信小程序凭借其便捷的使用体验和广泛的用户基础,逐渐成为各类应用和服务的重要载体。其中,云数据库作为一种高效、灵活的解决方案,为小程序提供了强大的数据存储和管理能力,使得开发者能够专注于业务逻辑的实现,而无需过多担心基础设施的搭建和维护。
本文将深入探讨如何在微信小程序中使用云数据库,包括云数据库的基本概念、架构特点以及如何进行数据的创建、查询、更新和删除。我们将介绍云数据库的优势,如自动扩展、安全性、数据备份等,并通过实际案例展示其在小程序开发中的应用场景和最佳实践。
通过本篇文章,您将能够掌握使用云数据库的基本技能,理解如何将其与小程序的各项功能相结合,从而实现数据的高效管理和操作。无论您是云数据库的新手,还是希望提升数据管理能力的经验丰富的开发者,本文都将为您的小程序开发提供实用的指导和灵感。
希望通过阅读本篇文章,您能更好地利用云数据库的优势,为您的微信小程序赋能,实现更卓越的用户体验和业务价值。
🚀一、使用云数据库
云开发提供了一个JSON格式的数据库,数据库中的每条记录都是一个JSON对象。在云数据库中,可以创建多个集合,如果你使用过关系型数据库,可以将这里的集合理解为关系型数据库中的表。一个集合就是一个JSON对象数组,集合中的每个元素都是JSON对象。本节将介绍云数据库的具体用法。
🔎1.使用云开发数据库
首先,可以来尝试创建一个数据库集合,并向其中添加几条数据。打开云开发模板工程,进入云开发控制台,找到其中的数据库一栏,如图所示。
在页面的左侧可以看到,此工程模板默认创建了一个名为sales的数据库集合,此集合是通过云函数调用的方式创建的,关于云函数的部分这里暂且放下不谈,可以通过控制台手动地创建数据库集合。
点击页面左侧集合部分的加号,会弹出一个信息弹窗,在其中输入要创建的集合的名称,例如命名为books,如图所示。
创建完成后,会得到一个空的集合,点击其中的添加记录,可以向集合中新增几条数据,如图所示。
这段内容讲解了如何使用微信小程序云开发控制台进行数据管理,特别是在云数据库中添加、修改和导入数据,并且涉及到数据的权限设置。以下是整理后的核心要点:
1、添加图书记录
我们向 books
集合中添加了一条图书入档记录,记录的内容如下:
{
id: "1",
name: "《循序渐进 Vue3.0前端开发实战》",
author: "愚公",
date: "2024年12月28日"
}
在 JSON 模式 下添加数据时,云开发控制台会自动进行数据校验。如果没有错误提示,点击确定按钮即可完成添加。
- 注意:可以按照同样的方式继续添加多条图书记录。
2、导入和导出数据
- 导入数据:控制台支持使用 JSON 文件 来批量导入数据。
- 导出数据:数据也可以从云开发控制台导出为 JSON 文件,方便进行数据备份或迁移。
3、数据记录的主键和修改
-
每条新建记录会默认生成一个名为
id
的主键。- 主键
id
是自动生成的,且 不可修改。 - 其他字段(如
name
、author
、date
等)可以在控制台中直接修改。
- 主键
-
控制台支持以下修改功能:
- 修改字段的 名称、类型、值。
4、数据权限设置
并非所有数据都可以在云开发控制台中进行修改。控制台允许根据数据的 敏感性 来设置不同的权限。
- 权限设置的场景:
- 敏感数据(如用户个人信息)可以设置为 仅创建者可读写,即只有数据的创建者可以查看和修改。
- 公开数据(如公开的图书信息)可以设置为 所有人可读、创建者可写,即所有人都可以查看,只有创建者可以修改。
示例:
- 公开的信息:如书籍名称、作者,可以设置为所有人可读,但只有创建者可写。
- 用户相关的信息:如用户邮箱、地址等,建议设置为仅创建者可读写,防止其他用户访问敏感信息。
🔎2.云数据库支持的数据类型
🦋2.1 云数据库支持的数据类型
云数据库支持以下几种数据类型:
- 字符串类型(String)
- 数字类型(Number)
- 对象类型(Object)
- 数组类型(Array)
- 布尔值类型(Boolean)
- 日期时间类型(Date)
- 地理位置类型(Geo)
- Null 类型(Null)
🦋2.2 各数据类型的特点和说明
☀️2.2.1 字符串类型(String)
- 用于存储文本数据,常见的数据类型之一。
☀️2.2.2 数字类型(Number)
- 用于存储整数或浮动小数点数值。
☀️2.2.3 对象类型(Object)
- 用于存储键值对形式的数据结构,可以存储多个属性,类似于 JavaScript 中的对象。
☀️2.2.4 数组类型(Array)
- 用于存储多个值的集合,值可以是任何类型的数据,如字符串、数字、对象等。
☀️2.2.5 布尔值类型(Boolean)
- 用于存储
true
或false
两个值,通常用于表示条件判断的结果。
🦋2.3 特殊数据类型说明
☀️2.3.1 日期时间类型(Date)
- 用于存储日期和时间,数据类型对应 JavaScript 中的
Date
对象。- 需要注意的是,在小程序端创建的
Date
对象记录的是 客户端的时间,而客户端时间可能不够准确或可信。 - 云开发接口 提供了获取 服务器端时间 的方法,建议使用服务器端时间来确保时间数据的准确性。
- 需要注意的是,在小程序端创建的
☀️2.3.2 地理位置类型(Geo)
- 用于存储 经纬度信息。
- 支持存储多种地理位置信息,如:
- 点:单个经纬度坐标。
- 线:一组连接的点,表示路径。
- 区域:一组包含多个点的数据,表示一个区域的范围。
- 云数据库提供了多个接口支持地理位置数据的增删改查操作。
☀️2.3.3 Null 类型(Null)
- 用于表示 占位字段,字段值为 null,即表示该字段存在,但没有实际存储数据。
- 适用于需要存储存在但是没有值的字段。
🦋2.4 总结
- 云数据库支持多种常见的数据类型,包括字符串、数字、对象、数组、布尔值等,这些类型容易理解和使用。
- 特殊类型:
- 日期时间类型 存储 JavaScript
Date
对象,需要注意客户端时间可能不准确。 - 地理位置类型 用于存储经纬度,支持点、线、区域等数据格式,并且提供丰富的接口来操作这些数据。
- Null 类型 表示字段存在但没有数据,适用于占位字段。
- 日期时间类型 存储 JavaScript
通过这些数据类型,开发者可以在云数据库中灵活存储和处理各种形式的数据,满足不同的业务需求。
🔎3.新增与查询数据
🦋3.1 创建页面和云数据库引用
步骤1: 创建页面文件
在示例工程中,首先创建一个名为 cloudDBDemo
的页面文件,并在 cloudDBDemo.wxml
文件中编写如下代码:
<!-- pages/cloudDBDemo/cloudDBDemo.wxml -->
<button type="primary" bindtap="insert">插入一条数据</button>
此代码在页面上添加了一个按钮,点击按钮后会向云数据库中的 books
集合中插入一条新的图书记录。
步骤2: 初始化云开发环境和获取数据库引用
在 cloudDBDemo.js
文件中,编写如下代码来初始化云开发环境,并获取云数据库的引用:
// pages/cloudDBDemo/cloudDBDemo.js
Page({
onLoad: function(options) {
wx.cloud.init({
env: 'cloud1-4ghg65i9b5531b77' // 设置云环境ID
});
// 获取云数据库引用
const db = wx.cloud.database({
env: 'cloud1-4ghg65i9b5531b77'
});
// 获取books集合引用
this.data.books = db.collection('books');
},
insert: function() {
// 向cloud数据库的books集合中插入一条数据
this.data.books.add({
data: {
author: "珲少",
date: "2022年4月21日",
id: "3",
name: "小程序开发实战"
}