【愚公系列】《微信小程序与云开发从入门到实践》047-使用云数据库
标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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: "小程序开发实战"
},
success: function(res) {
console.log("插入完成", res);
}
});
}
});
注意事项:
- 在调用任何云开发接口之前,首先需要初始化云开发环境,使用
wx.cloud.init()
方法进行初始化,env
参数用于设置使用的云环境ID,云环境ID可以在云开发控制台中找到。 - 使用
wx.cloud.database()
方法获取云数据库引用,并通过db.collection('books')
获取到books
集合的引用。
🦋3.2 增:插入数据
在上面的代码中,insert
方法用于向 books
集合插入一条新数据。
插入数据的步骤:
- 通过
add()
方法向集合插入一条新的数据记录。 - 数据插入成功后,会触发
success
回调,返回插入结果。
🦋3.3 查:查询数据
- 通过主键查询单条数据
当每次向数据库插入数据时,云数据库会自动生成一个id
字段作为主键。可以通过主键快速查询某一条数据。
searchOne: function() {
this.data.books.doc("5464a2946261026501c1db107b722562").get({
success: function(res) {
console.log(res);
},
fail: function(error) {
console.log(error);
}
});
}
说明:
- 通过
doc()
方法指定要查询的文档 ID。 - 使用
get()
方法获取数据,success
回调返回查询结果,fail
回调处理错误。
注意:由于设置了 books
集合的数据权限为“仅创建者可读写”,因此查询数据时需要确保查询的数据是当前用户所创建的。
- 使用条件查询多条数据
通常情况下,我们不会直接通过主键查询数据,而是通过条件来查询多条数据。使用where()
方法设置查询条件。
this.data.books.where({
author: '珲少'
}).get({
success: function(res) {
console.log(res);
}
});
说明:
where()
方法用于设置查询条件,条件可以是多个字段组合,表示满足所有条件的数据才会被查出。
- 获取集合中所有可读数据
如果需要获取集合中所有可读的数据,可以使用如下代码:
this.data.books.get({
success: function(res) {
console.log(res);
}
});
🦋3.4 总结
在小程序云开发中,使用云数据库进行 增、删、改、查 的操作非常简单。通过以下步骤,你可以实现数据库操作:
- 初始化环境:调用
wx.cloud.init()
初始化云开发环境。 - 获取数据库引用:使用
wx.cloud.database()
获取数据库引用,操作数据库集合。 - 插入数据:使用
add()
方法插入数据。 - 查询数据:
- 通过主键查询:使用
doc()
方法查询单条数据。 - 使用条件查询:通过
where()
方法查询符合条件的多条数据。 - 获取所有数据:使用
get()
方法获取集合中的所有数据。
- 通过主键查询:使用
通过这些操作,你可以在小程序中实现基本的数据增删改查功能,方便进行数据存储和展示。
🔎4.高级查询操作
🦋4.1 使用查询指令进行数据查询
在云数据库中,除了通过基本的字段值匹配查询数据外,我们还可以使用查询指令来控制查询的匹配方式,从而实现更复杂的查询需求。常见的查询指令包括 neq
(不等于)、lt
(小于)、lte
(小于等于)、gte
(大于等于)等,这些指令可以帮助我们更灵活地筛选数据。
示例代码:查询所有 id
值不等于 3 的图书记录
- 修改
onLoad
方法,初始化云环境并获取指令对象:
onLoad: function(options) {
wx.cloud.init({
env: 'cloud1-4ghg65i9b5531b77' // 设置云环境ID
});
// 获取云数据库引用
const db = wx.cloud.database({
env: 'cloud1-4ghg65i9b5531b77'
});
// 获取指令对象
this.command = db.command;
// 获取某个集合的引用
this.data.books = db.collection('books');
}
- 使用指令查询
id
不等于 3 的数据:
this.data.books.where({
id: this.command.neq('3') // 使用neq指令进行不等于查询
}).get({
success: function(res) {
console.log(res);
}
});
说明:
this.command.neq('3')
表示查询id
不等于3
的所有数据。neq
是“不等于”的查询指令。
🦋4.2 常用查询指令
云数据库提供了多种查询指令,可以灵活地进行条件查询。以下是一些常用的查询指令及其说明:
指令 | 说明 |
---|---|
eq |
等于 |
neq |
不等于 |
lt |
小于 |
lte |
小于或等于 |
gt |
大于 |
gte |
大于或等于 |
in |
字段的值在给定的数组中 |
nin |
字段的值不在给定的数组中 |
这些指令可以结合不同的条件使用,实现精确的数据筛选。
🦋4.3 使用逻辑运算符进行组合查询
除了基本的指令查询外,云数据库还支持逻辑运算符,如 and
(与)和 or
(或),来实现复杂的条件组合查询。
示例代码:查询 id
不等于 3 且不等于 2 的图书记录
this.data.books.where({
id: this.command.neq('3').and(this.command.neq('2')) // 且 id不等于2
}).get({
success: function(res) {
console.log(res);
}
});
and
指令表示 “与” 逻辑关系,即要求数据同时满足多个条件。
示例代码:查询 id
不等于 3 或不等于 2 的图书记录
this.data.books.where({
id: this.command.neq('3').or(this.command.neq('2')) // 或者 id不等于2
}).get({
success: function(res) {
console.log(res);
}
});
or
指令表示 “或” 逻辑关系,即满足任意一个条件即可返回数据。
🦋4.4 链式调用查询
在使用查询指令时,可以通过链式调用的方式组合多个查询条件,灵活实现复杂的查询需求。例如,可以同时使用 neq
、gte
和 and
指令来查询符合多个条件的数据。
示例代码:查询 id
不等于 3 且大于等于 2 的图书记录
this.data.books.where({
id: this.command.neq('3').and(this.command.gte('2')) // id大于或等于2
}).get({
success: function(res) {
console.log(res);
}
});
🦋4.5 总结
- 查询指令:云数据库提供了多种查询指令,如
neq
(不等于)、lt
(小于)、gte
(大于或等于)等,帮助开发者灵活地控制查询条件。 - 逻辑运算符:通过
and
和or
指令,开发者可以组合多个查询条件,实现复杂的逻辑查询。 - 链式调用:可以使用链式调用组合多个查询指令,使查询条件更加灵活。
通过这些功能,开发者可以根据不同需求对云数据库中的数据进行精确查询,为小程序的业务逻辑提供强有力的支持。
🔎5.更新与删除数据
🦋5.1 更新操作(修改数据)
更新数据的前提:查询
更新操作的前提是查询,通常我们需要通过某个条件来定位到要更新的数据,例如通过主键(文档ID)来更新特定数据。
示例代码:通过文档ID更新数据
假设我们要更新某条数据的 author
字段,将其改为 "未录入"
,可以使用如下代码:
this.data.books.doc("5464a2946261026501c1db107b722562").update({
data: {
author: "未录入" // 将author字段更新为“未录入”
},
success: function(res) {
console.log(res); // 输出更新结果
}
});
doc("5464a2946261026501c1db107b722562")
通过文档ID查找要更新的记录。update()
方法用于更新数据,data
中传入需要更新的字段及其新值。
使用命令进行运算更新
在更新数据时,可以使用一些数据库命令来进行更复杂的更新操作。例如,如果某个字段是数组类型,可以直接往数组中添加元素。
示例代码:更新数组字段并追加元素
假设 list
是一个数组类型字段,我们要向该数组添加一个新的元素 "新增"
,可以使用 push
命令:
this.data.books.doc("5464a2946261026501c1db107b722562").update({
data: {
list: this.command.push("新增") // 使用push命令往数组末尾追加元素
},
success: function(res) {
console.log(res); // 输出更新结果
}
});
this.command.push("新增")
表示在list
数组的末尾添加"新增"
元素。
🦋5.2 常用更新命令
在更新操作中,除了设置字段值,还可以通过一些命令进行特定类型的数据操作。常见的更新命令如下:
命令 | 说明 |
---|---|
set |
将字段设置为指定的值 |
remove |
删除指定的字段 |
inc |
对数值类型字段进行自增操作 |
mul |
对数值类型字段进行自乘操作 |
push |
向数组类型字段的末尾添加元素 |
pop |
删除数组类型字段的末尾元素 |
shift |
从数组类型字段的头部删除一个元素 |
unshift |
向数组类型字段的头部插入一个元素 |
示例:
- 自增操作:
this.command.inc(1)
会让字段值自增 1。 - 数组操作:
this.command.push("新增")
会向数组末尾添加一个元素。
🦋5.3 批量更新操作
在进行批量更新时,可以首先使用 where()
方法进行查询,筛选出符合条件的数据,然后使用 update()
方法批量更新。
示例代码:批量更新操作
假设我们要更新所有 author
为 "珲少"
的图书,向它们的 list
数组中添加 "新增"
元素:
this.data.books.where({
author: "珲少" // 条件:author为"珲少"
}).update({
data: {
list: this.command.push("新增") // 在list数组末尾添加"新增"元素
},
success: function(res) {
console.log(res); // 输出更新结果
}
});
说明:
where({ author: "珲少" })
用于筛选出所有author
字段为"珲少"
的文档。update()
方法应用于筛选出的结果,更新它们的list
字段。
🦋5.4 删除操作
删除操作与更新操作类似,首先通过查询条件定位到要删除的数据,然后使用 remove()
方法删除数据。
示例代码:删除数据
假设我们要删除所有 author
为 "珲少"
的图书记录:
this.data.books.where({
author: "珲少" // 条件:author为"珲少"
}).remove({
success: function(res) {
console.log(res); // 输出删除结果
}
});
where({ author: "珲少" })
用于筛选出符合条件的文档。remove()
方法会删除符合条件的所有文档。
注意:
- 如果更新数据时,所更新的字段不存在,云数据库会自动创建该字段。
🦋5.5 总结
- 更新数据:可以通过
update()
方法修改现有数据,支持字段值直接设置、数组操作、数值字段的自增/自乘等。 - 常用更新命令:
set
、remove
、inc
、mul
、push
、pop
、shift
和unshift
,可用于不同类型字段的更新。 - 批量更新:通过
where()
条件查询,结合update()
方法批量更新符合条件的数据。 - 删除数据:通过
where()
查询定位数据,使用remove()
方法删除数据。
这些操作帮助开发者在小程序中高效地管理和更新数据库中的数据。通过使用不同的查询条件和命令,您可以实现灵活的数据操作逻辑。
🔎6.数据库变更实时推送
🦋6.1 实时数据推送功能
在小程序云数据库中,除了基本的增删改查操作外,还提供了实时数据推送功能。这个功能可以让开发者实时获取数据库中的数据变化,并根据这些变化做出相应的处理。
如何使用实时数据推送:
为了监听数据的变化,需要添加一个监听器。当满足条件的数据发生变化时,云数据库会通过回调的方式将变化内容推送给我们。以下是使用实时数据推送的示例代码:
this.watcher = this.data.books.where({ author: "珲少" }).watch({
onChange: function(info) {
console.log(info.docChanges); // 输出数据变化信息
},
onError: function(err) {
console.error('The watch closed because of error', err); // 输出错误信息
}
});
watch()
方法:创建一个实时数据推送的监听器。onChange
回调:当数据发生变化时,会触发此回调并返回数据变更的信息。onError
回调:当监听器发生错误时,会触发此回调。
注意:
onChange
和onError
都是必须配置的回调函数。- 通过回调函数中的参数,可以获取数据变化的详细信息。
🦋6.2 回调参数对象的属性
当 onChange
或 onError
回调触发时,云数据库会传递一个包含数据变更信息的对象。以下是回调参数对象的主要属性:
属性名 | 类型 | 说明 |
---|---|---|
docChanges |
数组 | 记录数据变更的详细信息(更新事件) |
docs |
数组 | 数据快照,包含当前最新的文档数据 |
type |
字符串 | 变更事件的类型,指示数据变化的类型 |
id |
数值 | 变更事件的唯一标识符 |
docChanges
:包含数据变更的详细信息,通常是一个数组,记录了每条变更数据的具体情况。docs
:数据快照,包含了当前所有符合查询条件的最新数据。type
:标识变更事件的类型,枚举值见下表。
🦋6.3 变更事件类型(type
)
type
字段表示此次数据变更的类型,常见的枚举值包括:
type |
说明 |
---|---|
init |
初始化事件,表示监听器刚开始监听时的事件 |
add |
新增数据事件,对应数据库的 set 操作 |
update |
数据更新事件,对应数据库的 update 操作 |
remove |
删除数据事件,对应数据库的 remove 操作 |
sort |
排序变更事件,表示数据由于排序操作发生变化 |
说明:
init
:当监听器首次开始监听时,立即触发一次回调,通常用于初始化数据。add
:新增数据事件,表示数据被插入。update
:数据被更新,类似数据库中的update
操作。remove
:数据被删除,类似数据库中的remove
操作。sort
:由于排序变化导致的数据变化。
🦋6.4 docChanges
数组中的详细信息
docChanges
数组包含了所有数据变更的详细信息。每个变更对象的属性如下:
属性名 | 类型 | 说明 |
---|---|---|
queueType |
字符串 | 事件类型,枚举值:init 、update 、enqueue 、dequeue |
dataType |
字符串 | 数据更新的类型,和 type 字段一致 |
docId |
字符串 | 数据文档的ID |
doc |
对象 | 更新后的数据文档对象 |
updatedFields |
对象 | 更新的字段及其新值 |
removedFields |
数组 | 被删除的字段 |
详细字段说明:
queueType
:指示变更事件的队列类型,常见的值有init
、update
、enqueue
(记录进入列表)、dequeue
(记录离开列表)。dataType
:与type
一致,表示数据的更新类型(add
、update
等)。docId
:被更新、删除或新增数据的文档ID。doc
:变更后的完整数据对象。updatedFields
:记录被更新字段的名称和值。removedFields
:记录被删除字段的名称。
🦋6.5 使用场景举例
假设你正在开发一个图书管理小程序,并且需要实时监控所有 author
为 "珲少"
的图书数据变更,可以使用以下代码:
this.watcher = this.data.books.where({ author: "珲少" }).watch({
onChange: function(info) {
// 处理数据变化
console.log(info.docChanges); // 输出变更的详细信息
},
onError: function(err) {
console.error('The watch closed because of error', err); // 输出错误信息
}
});
- 当图书数据(如
author
字段)发生变化时,onChange
回调将会被触发,开发者可以根据docChanges
中的内容进行处理。 - 如果监听器出错,例如网络问题或数据库异常,
onError
回调将会被触发。
🦋6.6 总结
- 实时数据推送:通过
watch()
方法,可以实现对数据库数据的实时监听。当数据发生变化时,云数据库会通过回调的方式将变化的内容推送给开发者。 - 回调参数对象:
onChange
和onError
回调函数的参数对象包含了丰富的变化信息,开发者可以根据docChanges
进行详细的数据处理。 - 变更事件类型:通过
type
字段,开发者可以轻松了解数据变化的类型,如新增、更新、删除等。 - 详细的变更信息:通过
docChanges
中的详细数据(如更新字段、删除字段等),可以精确控制如何响应数据变化。
这种实时数据推送功能非常适合需要实时响应数据变化的场景,如即时通讯、实时动态更新、数据监控等。
🔎7.数据库备份
🦋7.1 数据备份与恢复的重要性
对于互联网产品而言,数据是最为关键的资产,尤其是与用户相关的数据。例如,网上银行如果丢失用户的存款信息,将会带来灾难性的后果。因此,小程序云数据库为用户提供了 容灾方案,即自动备份与数据恢复功能,确保在误操作或数据损坏时,能够将损失降到最低。
🦋7.2 云数据库的自动备份功能
- 自动备份:系统默认会在每日凌晨自动进行数据库备份。
- 备份保存期限:最多会保存 7天 的备份数据。
- 自动恢复能力:对于误操作(如删除或损坏数据),可以将数据库恢复到最近的备份状态。
🦋7.3 备份与恢复功能操作
备份查看与回档入口
在 云开发控制台 的数据库板块中,提供了数据库回档的功能入口,开发者可以通过该入口查看和操作数据库的备份与恢复。
- 回档入口:进入数据库板块,可以看到“数据库回档”功能。
如何进行回档操作
-
点击“新建回档”:
- 在控制台中,选择“新建回档”按钮,弹出回档操作窗口。
-
选择要回档的数据库集合:
- 在弹出的窗口中,选择需要恢复的数据库集合。
- 每个备份都会有明确的备份时间,用户可以选择恢复到某个具体的备份版本。
-
选择恢复的集合:
- 点击“下一步”按钮,系统会显示备份数据的详细信息。
-
设置回档后的集合名称:
- 回档完成后,系统会创建新的数据库集合,集合名称可以自定义,但不能与已有集合同名。
-
回档过程:
- 回档的过程需要一定的时间,具体的进度可以在数据库回档页面查看。
- 在回档期间,数据库的访问不受影响,但不能新建回档任务。
回档期间的注意事项
- 访问不受影响:虽然回档过程需要一定时间,但数据库的其他访问操作不会中断,用户可以继续进行数据读取和操作。
- 不能创建新的回档任务:在回档过程中,不能同时发起新的回档任务。
🦋7.4 回档后的效果
- 创建新的集合:回档操作会创建一个新的集合,恢复的数据将被放置到新的集合中,而不会覆盖现有的数据库。
- 数据库名称:恢复后的集合名称需要手动指定,且不能与现有集合重名。
🦋7.5 总结
- 自动备份:小程序云数据库每天凌晨会自动备份数据,最多保留7天的备份数据。
- 回档功能:开发者可以通过控制台进行数据库回档操作,将数据恢复到某个备份状态。
- 回档过程:回档操作不会影响数据库的正常访问,但需要一定时间,且回档期间不能发起新的回档任务。
- 恢复数据:回档后会创建一个新的集合,集合名称可以自定义,但不能与现有集合重名。
这项功能能够有效防止误操作或其他原因导致的数据丢失,保证数据的安全性和可靠性。
- 点赞
- 收藏
- 关注作者
评论(0)