Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
程序yang
unidocs-zh
提交
48bd2b58
U
unidocs-zh
项目概览
程序yang
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
48bd2b58
编写于
12月 13, 2022
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: update jql schema ext
上级
ccc23c2c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
102 addition
and
14 deletion
+102
-14
docs/uniCloud/jql-schema-ext.md
docs/uniCloud/jql-schema-ext.md
+102
-14
未找到文件。
docs/uniCloud/jql-schema-ext.md
浏览文件 @
48bd2b58
...
...
@@ -73,29 +73,32 @@ ext.js里引入公共模块的机制:
触发器的入参有以下几个,不同时机的触发器参数略有不同
|参数名 |类型 |默认值 |是否必备 |说明 |
|-- |-- |-- |-- |-- |
|collection |string |- |是 |当前表名 |
|operation |string |- |是 |当前操作类型:
`create`
、
`update`
、
`delete`
、
`read`
、
`count`
|
|where |object |- |否 |当前请求使用的查询条件(见下方说明) |
|field |array
<
string
>
|- |read必备 |当前请求访问的字段列表(见下方说明) |
|addDataList|array
<
object
>
|- |create必备 |新增操作传入的数据列表(见下方说明) |
|updateData |object |- |update必备 |更新操作传入的数据(见下方说明) |
|clientInfo |object |- |是 |客户端信息,包括设备信息、用户token等,详见:
[
clientInfo
](
cf-functions.md#get-client-infos
)
|
#### where
|参数名 |类型 |默认值 |是否必备 |说明 |
|-- |-- |-- |-- |-- |
|collection |string |- |是 |当前表名 |
|operation |string |- |是 |当前操作类型:
`create`
、
`update`
、
`delete`
、
`read`
、
`count`
|
|where |object |- |否 |当前请求使用的查询条件(见下方说明) |
|field |array
<
string
>
|- |read必备 |当前请求访问的字段列表(见下方说明) |
|addDataList |array
<
object
>
|- |create必备 |新增操作传入的数据列表(见下方说明) |
|updateData |object |- |update必备 |更新操作传入的数据(见下方说明) |
|clientInfo |object |- |是 |客户端信息,包括设备信息、用户token等,详见:
[
clientInfo
](
cf-functions.md#get-client-infos
)
|
|userInfo |object |- |是 |用户信息 |
|result |object |- |afterXxx内必备 |本次请求结果 |
|isEqualToJql |function |- |是 |用于判断当前执行的jql语句和执行语句是否相等 |
#### where@where
> read、count、delete、update操作可能有此参数
触发器收到的where参数为转化后的查询条件,可以直接作为参数传给db.collection()和dbJql.collection()的where方法。jql语句使用doc方法时也会转成where,形如:{_id: 'xxx'}
#### field
#### field
@field
> 仅read操作有此参数
field为所有被访问的字段的组成的数组,嵌套的字段会被摊平。
#### addDataList
#### addDataList
@add-data-list
> 仅create操作有此参数
...
...
@@ -103,7 +106,7 @@ field为所有被访问的字段的组成的数组,嵌套的字段会被摊平
如果在给数据库插入数据前拦截并修改了addDataList的数据,那么插入数据库的就会是新修改的数据。
#### updateData
#### updateData
@update-data
> 仅update操作有此参数
...
...
@@ -111,6 +114,91 @@ field为所有被访问的字段的组成的数组,嵌套的字段会被摊平
如果在给数据库修改数据前拦截并修改了updateData的数据,那么更新进数据库的就会是新修改的数据。
#### userInfo@user-info
> 新增于 HBuilderX 3.6.14
用户信息包含以下字段
|字段名 |类型 |说明 |
|-- |-- |-- |
|uid |string
|
null |用户id,未能获取用户信息时为null |
|role |array |角色列表,默认为空数组 |
|permission |array |权限列表,默认为空数组 |
#### result@result
> 新增于 HBuilderX 3.6.14
本次数据库操作的结果,不同操作返回不同的结构。对result对象的修改会应用到最终返回的结果内
**查询**
```
js
{
data
:
[]
// 获取到的数据列表
}
```
**查询带count**
```
js
{
data
:
[],
// 获取到的数据列表
count
:
0
// 符合条件的数据条数
}
```
**新增单条**
```
js
{
id
:
''
// 新增数据的id
}
```
**新增多条**
```
js
{
ids
:
[],
// 新增数据的id列表
inserted
:
3
// 新增成功的条数
}
```
**更新数据**
```
js
{
updated
:
1
// 更新的条数,数据更新前后无变化则更新条数为0
}
```
#### isEqualToJql@is-equal-to-jql
> 新增于 HBuilderX 3.6.14
用于判断当前执行的jql语句和执行语句是否相等的方法
**示例**
```
js
// article.schema.ext.js
module
.
exports
{
trigger
:
{
beforeCount
:
async
function
({
isEqualToJql
}
=
{})
{
if
(
isEqualToJql
(
'
db.collection("article").count()
'
))
{
console
.
log
(
'
执行不带条件的count
'
)
}
else
{
throw
new
Error
(
'
禁止执行带条件的count
'
)
}
}
}
}
```
### 触发器返回值@trigger-response
触发器返回值无任何意义,建议不要返回任何内容
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录