Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
735b67a2
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3188
Star
106
Fork
809
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
93
列表
看板
标记
里程碑
合并请求
69
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
93
Issue
93
列表
看板
标记
里程碑
合并请求
69
合并请求
69
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
735b67a2
编写于
6月 25, 2023
作者:
DCloud_Heavensoft
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update schema.md
上级
718fdb03
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
11 addition
and
11 deletion
+11
-11
docs/uniCloud/schema.md
docs/uniCloud/schema.md
+11
-11
未找到文件。
docs/uniCloud/schema.md
浏览文件 @
735b67a2
...
@@ -1136,11 +1136,11 @@ rule表达式里支持:
...
@@ -1136,11 +1136,11 @@ rule表达式里支持:
扩展校验函数
扩展校验函数
当属性配置不满足需求,需要写js函数进行校验时,使用本功能。(当然也可以使用
[
schema.js
](
jql-schema-ext.md
)
来替代)
当属性配置不满足需求,需要写js函数进行校验时,使用本功能。(当然也可以使用
[
schema.
ext.
js
](
jql-schema-ext.md
)
来替代)
**注意**
**注意**
-
扩展校验函数不能有其他依赖。有相关需求需使用schema.js来替代。
-
扩展校验函数不能有其他依赖。有相关需求需使用schema.
ext.
js来替代。
-
尽量不要在扩展校验函数中使用全局变量,如果一定要用请务必确保自己已经阅读并理解了
[
云函数的启动模式
](
uniCloud/cf-functions.md?id=launchtype
)
-
尽量不要在扩展校验函数中使用全局变量,如果一定要用请务必确保自己已经阅读并理解了
[
云函数的启动模式
](
uniCloud/cf-functions.md?id=launchtype
)
如何使用
如何使用
...
@@ -1289,13 +1289,13 @@ if (uni) {
...
@@ -1289,13 +1289,13 @@ if (uni) {
```
```
### 4. schema.js
### 4. schema.
ext.
js
[
schema.js
](
jql-schema-ext.md
)
是schema.json的扩展和补充,它可以以编程的方式对数据的增删改查进行监听,然后执行任意操作。所以同样可以用于字段的值域校验。
[
schema.
ext.
js
](
jql-schema-ext.md
)
是schema.json的扩展和补充,它可以以编程的方式对数据的增删改查进行监听,然后执行任意操作。所以同样可以用于字段的值域校验。
schema.
js与validator function的区别是,validator function是针对某一个字段的控制,返回布尔值。而schema
.js是对整个表的自由编程。
schema.
ext.js与validator function的区别是,validator function是针对某一个字段的控制,返回布尔值。而schema.ext
.js是对整个表的自由编程。
schema.
js篇幅较长,另见
[
schema
.js
](
jql-schema-ext.md
)
schema.
ext.js篇幅较长,另见
[
schema.ext
.js
](
jql-schema-ext.md
)
### 5. errorMessage自定义错误提示@errormessage
### 5. errorMessage自定义错误提示@errormessage
...
@@ -1667,19 +1667,19 @@ db.collection('street').where("shop_id=='123123 || shop_id=='456456'").get()
...
@@ -1667,19 +1667,19 @@ db.collection('street').where("shop_id=='123123 || shop_id=='456456'").get()
-
字段级有没有配置权限,有没有在客户端访问password字段
-
字段级有没有配置权限,有没有在客户端访问password字段
-
此次访问的数据是不是配置的权限对应的数据的子集
-
此次访问的数据是不是配置的权限对应的数据的子集
## schema.js触发器
## schema.
ext.
js触发器
schema.json是一个json方式的配置,配置的特点是简单易用,但无法编程。
schema.json是一个json方式的配置,配置的特点是简单易用,但无法编程。
当出现配置难以满足的需求,比如复杂的数据权限校验规则、复杂的字段值域校验规则,此时应当使用编程的方式来解决。
当出现配置难以满足的需求,比如复杂的数据权限校验规则、复杂的字段值域校验规则,此时应当使用编程的方式来解决。
这就是 scheme.js。每个表都有一个schema.json和一个schema.js(可选)。
这就是 scheme.js。每个表都有一个schema.json和一个schema.
ext.
js(可选)。
在schema.js里可以监听数据的增删改查,可自由做前置校验、前置数据加工或后置加工,可引用扩展库和公共模块。
在schema.
ext.
js里可以监听数据的增删改查,可自由做前置校验、前置数据加工或后置加工,可引用扩展库和公共模块。
因篇幅较多,请另见
[
数据库schema.js触发器
](
jql-schema-ext.md
)
因篇幅较多,请另见
[
数据库schema.
ext.
js触发器
](
jql-schema-ext.md
)
再次强调,schema.json和schema.js的生效前提,均是JQL。使用传统MongoDB写法无法执行这些。
再次强调,schema.json和schema.
ext.
js的生效前提,均是JQL。使用传统MongoDB写法无法执行这些。
## schema2code代码生成系统@autocode
## schema2code代码生成系统@autocode
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录