From 09c5d6744ebff96e7da36c59d133f31f9b92dcb8 Mon Sep 17 00:00:00 2001 From: wangyaqi Date: Wed, 8 Feb 2023 14:32:26 +0800 Subject: [PATCH] docs: update jql schema ext --- docs/uniCloud/jql-schema-ext.md | 84 +++++++++++++++++---------------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/docs/uniCloud/jql-schema-ext.md b/docs/uniCloud/jql-schema-ext.md index c94494567..99175ce4d 100644 --- a/docs/uniCloud/jql-schema-ext.md +++ b/docs/uniCloud/jql-schema-ext.md @@ -73,32 +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)| -|userInfo |object |- |是 |用户信息 | -|result |object |- |afterXxx内必备 |本次请求结果 | -|isEqualToJql |function |- |是 |用于判断当前执行的jql语句和执行语句是否相等 | -|triggerContext |object |- |是 |用于在before和after内共享数据,新增于`3.6.16` | -|~~subCollection~~ |array |- |否 |请使用secondaryCollection替代此参数,此参数仍可访问只是会给出警告 | -|secondaryCollection|array |- |否 |获取联表查询的副表列表,新增于`3.7.1` | -|rawWhere |object|string |- |否 |未经转化的原始查询条件,新增于`3.7.0` | -|rawGeoNear |object |- |否 |未经转化的原始geoNear参数,新增于`3.7.0` | -|skip |number |- |否 |跳过记录条数,新增于`3.7.0` | -|limit |number |- |否 |返回的结果集(文档数量)的限制,新增于`3.7.0` | -|sample |object |- |否 |sample(随机选取)方法的参数,新增于`3.7.0` | -|docId |string |- |否 |doc方法的参数,数据库记录的_id,新增于`3.7.0` | - - -#### subCollection@sub-collection - -> 仅read操作联表有此参数,新增于 3.7.0 +|参数名 |类型 |默认值 |是否必备 |说明 | +|-- |-- |-- |-- |-- | +|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语句和执行语句是否相等 | +|triggerContext |object |- |是 |用于在before和after内共享数据,新增于`3.6.16` | +|~~subCollection~~ |array |- |否 |请使用secondaryCollection替代此参数,此参数仍可访问只是会给出警告 | +|secondaryCollection|array |- |否 |获取联表查询的副表列表,新增于`3.7.1` | +|rawWhere |object|string |- |否 |未经转化的原始查询条件,新增于`3.7.0` | +|rawGeoNear |object |- |否 |未经转化的原始geoNear参数,新增于`3.7.0` | +|skip |number |- |否 |跳过记录条数,新增于`3.7.0` | +|limit |number |- |否 |返回的结果集(文档数量)的限制,新增于`3.7.0` | +|sample |object |- |否 |sample(随机选取)方法的参数,新增于`3.7.0` | +|docId |string |- |否 |doc方法的参数,数据库记录的_id,新增于`3.7.0` | +|isGetTempLookup |boolean |- |联表触发时必备,仅主表触发器有此参数 |联表查询时用于标识,本次查询是否使用了getTemp,新增于`3.7.1` | + +#### secondaryCollection@secondary-collection + +> 仅read操作联表有此参数,新增于 3.7.1 联表查询副表组成的列表 @@ -107,9 +107,9 @@ ext.js里引入公共模块的机制: module.exports { trigger: { beforeRead: async function({ - subCollection + secondaryCollection } = {}) { - if(subCollection && subCollection.length > 1) { + if(secondaryCollection && secondaryCollection.length > 1) { throw new Error('仅允许关联一个副表') } } @@ -401,22 +401,24 @@ module.exports { ### 触发时机@trigger-timing -|触发时机 |说明 | -|--- |--- | -|beforeRead |读取前触发 | -|afterRead |读取后触发 | -|beforeCount |计数前触发 | -|afterCount |计数后触发 | -|beforeCreate |新增前触发 | -|afterCreate |新增后触发 | -|beforeUpdate |更新前触发 | -|afterUpdate |更新后触发 | -|beforeDelete |删除前触发 | -|afterDelete |删除后触发 | +|触发时机 |说明 | +|--- |--- | +|beforeRead |读取前触发 | +|afterRead |读取后触发 | +|beforeCount |计数前触发 | +|afterCount |计数后触发 | +|beforeCreate |新增前触发 | +|afterCreate |新增后触发 | +|beforeUpdate |更新前触发 | +|afterUpdate |更新后触发 | +|beforeDelete |删除前触发 | +|afterDelete |删除后触发 | +|beforeReadAsSecondaryCollection|集合作为副表被读取前触发,仅使用了getTemp的联表查询才会触发| +|afterReadAsSecondaryCollection |集合作为副表被读取后触发,仅使用了getTemp的联表查询才会触发| **注意** -- count有两种触发情况一种是在数据库指令使用了count方法,另一种是在get方法内传getCount参数。截至HBuilderX 3.6.14版本,get方法内传getCount参数不会触发count触发器,此问题会在后续版本进行修复。 +- count有两种触发情况一种是在数据库指令使用了count方法,另一种是在get方法内传getCount参数。HBuilderX 3.6.16版本之前,get方法内传getCount参数不会触发count触发器,HBuilderX 3.6.16及后续版本已修复此问题。 ### 示例@demo -- GitLab