提交 5236e6dc 编写于 作者: 雪洛's avatar 雪洛

docs: update uniCloud

上级 28e3ed22
......@@ -2667,6 +2667,58 @@ const res = await db.collection('geo-near').aggregate().geoNear({
- 存在geoNear时其query参数将取代where/doc作为权限校验依据,即query匹配到的结果需要满足权限才可以查询
### 查询某字段和另一个表的字段相等的记录@enhanced-in
> 新增于 HBuilderX 3.7.9
用于匹配某字段和另一个表的字段相等的记录,只能在where方法内使用
**示例**
```js
// company表数据
const company = [{
_id: '1',
status: 0
}, {
_id: '2',
status: 1
}]
// employee表数据
const employee = [{
_id: '1',
register_date: 1678867175366,
company_id: '1'
}, {
_id: '2',
register_date: 1670000000000,
company_id: '2'
}]
```
```js
const companyFilter = db.collection('company').where('status == 0').field('_id').getTemp() // 过滤company表,取其中status为0的记录的_id组成过滤数组
const res = await db.collection('employee').where(`register_date > 1670000000000 && company_id in ${JSON.stringify(companyFilter)}`).get() // 获取用户表的company_id在过滤条件内的记录
```
此查询匹配到的数据库记录为
```js
[{
_id: '1',
register_date: 1678867175366,
company_id: '1'
}]
```
注意in的这种用法底层使用了lookup方法,在数据量很大时效率不高,推荐在使用时尽量在in之外的条件内筛选出尽量小的数据集。上述示例中`register_date > 1670000000000 && company_id in ${JSON.stringify(companyFilter)}``register_date > 1670000000000`这部分条件应筛选出尽量小的结果集以便查询能更高效。
**使用限制**
- 仅可以在单表读操作及getTemp的联表查询的where方法内使用,不可用于增删改及非getTemp的联表查询
- 过滤用的临时表必须指定field
## 新增数据记录@add
> 代码块`dbadd`
......
如果云函数需要定时/定期执行,即定时触发,您可以使用云函数定时触发器。已配置定时触发器的云函数,会在相应时间点被自动触发,函数的返回结果不会返回给调用方。
使用定时触发可以执行一些跑批任务,阿里云可以在使用定时触发时将云函数最高超时时间设置为600秒,腾讯云定时触发最大超时时间为900秒。
在uniCloud web控制台点击需要添加触发器的云函数详情,创建云函数触发器,格式如下:
**腾讯云**
......@@ -27,14 +29,14 @@
**在package.json内配置定时触发时统一了腾讯阿里的写法,请参考:[云函数package.json](cf-functions.md#packagejson)**
**注意**
::: warning 注意
- 阿里云正式版最低触发间隔为1分钟,腾讯云最低触发间隔为1秒
- 阿里云的cron表达式为6位,腾讯云为7位。相比腾讯云,阿里云缺少代表年份的第7位
- 定时触发使用的是utc+8的时间
- 定时执行的时间选在较为常见集中的时刻有极低概率出现执行失败的情况。建议避免整点(特别是0点),错开定时触发高峰期进行执行
- 目前阿里云定时任务在运行时长超出配置的时间时会重试3次,此行为后续可能会调整。建议开发者将开启定时触发的云函数超时时间配置为600秒
:::
使用定时触发可以执行一些跑批任务,阿里云可以在使用定时触发时将云函数最高超时时间设置为600秒,腾讯云定时触发最大超时时间为900秒。
### 字段规则
- 定时触发器名称(name) :最大支持60个字符,支持 `a-z`, `A-Z`, `0-9`, `-``_`。必须以字母开头,且一个函数下不支持同名的多个定时触发器。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册