Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
01e3ddb3
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3172
Star
105
Fork
804
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
93
列表
看板
标记
里程碑
合并请求
67
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
93
Issue
93
列表
看板
标记
里程碑
合并请求
67
合并请求
67
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
01e3ddb3
编写于
11月 05, 2023
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: update uniCloud hello db
上级
dd4e0533
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
58 addition
and
1 deletion
+58
-1
docs/uniCloud/hellodb.md
docs/uniCloud/hellodb.md
+58
-1
未找到文件。
docs/uniCloud/hellodb.md
浏览文件 @
01e3ddb3
...
...
@@ -518,7 +518,8 @@ new db.Geo.MultiPolygon([
uniCloud数据库提供了多种数据导入导出和备份方案。
-
db
\_
init.json:常用于插件市场的插件做环境初始化。完整支持数据、索引、schema三部分。不适合处理大量数据,操作可能超时
-
init_data.json、index.json等数据库初始化文件文件:
`HBuilderX 3.97起支持`
常用于插件市场的插件做环境初始化。完整支持数据、索引、schema三部分。不适合处理大量数据,操作可能超时。目前uniCloud web控制台不支持直接导出这一批初始化文件,后续会提供支持。
-
db
\_
init.json:常用于插件市场的插件做环境初始化。完整支持数据、索引、schema三部分。不适合处理大量数据,操作可能超时。
**HBuilderX 3.97及之后版本需要拆分为上面一种方式对应的文件,可以在项目管理器选中db_init.json右键初始化数据库时自动拆分。**
-
数据库回档备份和恢复,不支持schema
-
数据库导入导出,
[
jsonl格式
](
https://jsonlines.org/
)
数据,仅数据,无索引及schema
...
...
@@ -526,8 +527,64 @@ uniCloud数据库提供了多种数据导入导出和备份方案。
下面对三种方法的使用方式进行详细说明:
### 数据库初始化@init-db
> HBuilderX 3.97起支持
旧规范中的db_init.json废弃,但是仍保留db_init.json上的初始化菜单,对db_init.json文件执行初始化操作时,其中的初始化数据、索引、schema会被拆分成多个文件。
::: warning 注意
此方式导入导出会消耗数据库读写次数,不适用于大数据量导入导出,仅适用于项目初始化。
:::
HBuilderX 3.97及以上版本,uniCloud内database目录支持直接右键进行数据库初始化。database目录下支持以下几种文件类型
-
表名.init_data.json:数据表初始化数据
-
表名.index.json:表的索引配置,内容示例见下方
[
初始化索引配置示例
](
#init-db-index-demo
)
-
表名.schema.json:表结构,参考:
[
DB Schema表结构
](
schema.md
)
-
表名.schema.ext.json:DB Schema扩展js,参考:
[
DB Schema扩展js
](
jql-schema-ext.md
)
-
validateFunction/xxx.js:扩展校验函数,参考:
[
validateFunction扩展校验函数
](
schema.md#validatefunction
)
-
package.json:主要用于配置schema扩展可以使用的公共模块,在database目录右键可以配置这些依赖
在执行数据库初始化操作时,上述文件都会被上传到云端。
#### 初始化数据注意事项
web控制台导出时默认不包括
`_id`
字段,在导入时,数据库插入新记录时会自动补
`_id`
字段。如果需要指定
`_id`
,需要手工补足数据。
在db_init.json内可以使用以下形式定义Date类型的数据:
```
js
{
"
dateObj
"
:
{
// dateObj字段就是日期类型的数据
"
$date
"
:
"
2020-12-12T00:00:00.000Z
"
// ISO标准日期字符串
}
}
```
#### 初始化索引配置示例@init-db-index-demo
注意下面的示例仅为演示,实际配置时不要带注释
```
json
//
表名.index.json
[{
//
索引列表
"IndexName"
:
"index_a"
,
//
索引名称
"MgoKeySchema"
:
{
//
索引规则
"MgoIndexKeys"
:
[{
"Name"
:
"index"
,
//
索引字段
"Direction"
:
"1"
//
索引方向,
1
:ASC-升序,
-1
:DESC-降序,
2
dsphere:地理位置
}],
"MgoIsUnique"
:
false
,
//
索引是否唯一
"MgoIsSparse"
:
false
//
是否为稀疏索引,请参考
https://uniapp.dcloud.net.cn/uniCloud/db-index.md?id=sparse
}
}]
```
### `db_init.json`初始化数据库@db-init
> HBuilderX 3.97及之后版本需要拆分为上面一种方式对应的文件,可以在项目管理器选中db_init.json右键初始化数据库时自动拆分。
::: warning 注意
此方式导入导出会消耗数据库读写次数,不适用于大数据量导入导出,仅适用于项目初始化。
:::
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录