Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CoderSmallfan
uni-app
提交
4a046466
U
uni-app
项目概览
CoderSmallfan
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
4a046466
编写于
12月 24, 2020
作者:
W
wanganxp
提交者:
GitHub
12月 24, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update schema.md
上级
943cf631
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
9 deletion
+25
-9
docs/uniCloud/schema.md
docs/uniCloud/schema.md
+25
-9
未找到文件。
docs/uniCloud/schema.md
浏览文件 @
4a046466
...
...
@@ -123,8 +123,16 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
### enum属性@enum
enum,即枚举。一个字段设定了enum后,该字段的合法内容,只能在enum设定的数据项中取值。
简单本地数据
enum支持3种数据格式:
1.
简单数组
2.
支持描述的复杂数组
3.
数据查询
-
简单数组
如下示例的意思是,role字段的合法值域只能是“1”、“2”、“3”中的一个。通过schema2code生成前端表单页面时,该字段会生成uni-data-checkbox组件,该组件在界面上渲染时会生成1、2、3这3个候选的复选框。
```
json
{
...
...
@@ -145,7 +153,9 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
```
复杂本地数据
-
支持描述的复杂数组
如下示例的意思是,role字段的合法值域只能是“1”、“2”中的一个。但通过schema2code生成前端表单页面时,该字段会生成uni-data-checkbox组件,该组件在界面上渲染时会生成“角色1”、“角色2”这2个候选的复选框。
```
json
{
...
...
@@ -162,11 +172,11 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
"enum"
:
[
{
"value"
:
1
,
"text"
:
"
text
1"
"text"
:
"
角色
1"
},
{
"value"
:
2
,
"text"
:
"
text
2"
"text"
:
"
角色
2"
}
]
}
...
...
@@ -175,7 +185,13 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
```
云端数据
-
数据查询
一个字段的合法值域,可以是从另一个数据查询而来。也即,在enum中可以配置jql查询语句。
例如有一个角色表uni-id-roles,里面已经存在若干个角色。那么在用户表uni-id-users的role字段里,就可以在enum里写jql查询,约定用户的角色字段的值,比如是在角色表中已经存在的值。
通过schema2code生成前端表单页面时,该字段会生成uni-data-checkbox组件,该组件在界面上渲染时会自动从角色表中查询数据并显示所有候选的复选框。
```
json
{
...
...
@@ -185,7 +201,7 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
"_id"
:
{
"description"
:
"存储文档 ID(用户 ID),系统自动生成"
},
//
role
云端数据
,
enum属性的值
和clientdb组件的写法一致,clientdb组件
https://uniapp.dcloud.net.cn/uniCloud/uni-clientdb-component
//
role
云端数据
,
enum属性的值
为JQL语法。
//
通过clientdb提交数据时多一次查库请求以校验数据是否有效
"role"
:
{
"bsonType"
:
"array"
,
...
...
@@ -193,7 +209,7 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
"label"
:
"角色"
,
"enum"
:
{
"collection"
:
"uni-id-roles"
,
//
表名,这里使用
uni-id-roles表举例,在uniCloud控制台使用
opendb
创建此表
"field"
:
"role_name as text, role_id as value"
,
//字段筛选,需要
as
成前端组件支持的字段名
text
,
value
"field"
:
"role_name as text, role_id as value"
,
//字段筛选,需要
as
成前端组件支持的字段名
text
、value。text、value是datacom组件规范的标准
"where"
:
""
,
//
查询条件
"orderby"
:
""
//
排序字段及正序倒叙设置
}
...
...
@@ -203,7 +219,7 @@ HBuilderX中运行前端项目,在控制台选择连接本地云函数,此
```
### 基本示例
###
schema
基本示例
假使一个表有5个字段:"name", "year", "major", "address", "gpa"。其中前4个字段是必填字段,然后"address"字段类型为json object,它下面又有若干子字段,其中"city"字段必填。
...
...
@@ -259,7 +275,7 @@ uniCloud推出了`openDB`开源数据库规范,包括用户表、文章表、
在实际开发中,forceDefaultValue常用于设置为当前服务器时间、当前登录用户id、客户端ip时。
这些数据都不能通过前端上传,不安全。过去只能在云端写云函数操作。在schema配置后则可以不用写云函数。
`clientDB`
在新增数据记录时会自动补齐这些数据
。
这些数据都不能通过前端上传,不安全。过去只能在云端写云函数操作。在schema配置后则可以不用写云函数。
在前端通过clientDB方式新增数据记录时会自动补齐这些数据(云端操作数据库不识别schema)
。
其中uid是和
`uni-id`
绑定的。如果用户没有登录,则无法获取uid,此时写入数据会报错。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录