Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
689d62c4
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3209
Star
106
Fork
815
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
94
列表
看板
标记
里程碑
合并请求
70
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
94
Issue
94
列表
看板
标记
里程碑
合并请求
70
合并请求
70
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
689d62c4
编写于
1月 05, 2022
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: uniCloud jql getTemp lookup
上级
b893055d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
3 deletion
+12
-3
docs/uniCloud/jql.md
docs/uniCloud/jql.md
+12
-3
未找到文件。
docs/uniCloud/jql.md
浏览文件 @
689d62c4
...
...
@@ -947,6 +947,11 @@ db.collection('article,comment')
> 新增于`HBuilderX 3.2.6`
为方便文档描述定义以下两个概念:
临时表:getTemp方法返回的结果,例:
`const article = db.collection('article').getTemp() `
,此处 article 就是一个临时表
虚拟表:主表与副表联表产生的表,例:
`db.collection(article, 'comment').get()`
在此之前JQL联表查询只能直接使用虚拟表,而不能先对主表、副表过滤再生成虚拟表。由于生成虚拟表时需要整个主表和副表进行联表,在数据量大的情况下性能会很差。
使用临时表进行联表查询,可以先对主表或者副表进行过滤,然后在处理后的临时表的基础上生成虚拟表。
...
...
@@ -968,7 +973,7 @@ const res = await db.collection(article, 'comment').get()
直接使用虚拟表联表查询,在第一步生成虚拟表时会以主表所有数据和副表进行联表查询,如果主表数据量很大,这一步会浪费相当多的时间。先过滤主表则没有这个问题,过滤之后仅有一条数据和副表进行联表查询。
**临时表
(getTemp)
内可以使用如下方法**
**临时表内可以使用如下方法**
> 方法调用必须严格按照顺序,比如field不能放在where之前
...
...
@@ -987,8 +992,10 @@ limit
**组合出来的虚拟表查询时可以使用的方法**
> 方法调用必须严格按照顺序,比如foreignKey不能放在where之后
```
js
foreignKey
foreignKey
// foreignKey自 HBuilderX 3.3.7版本支持
where
field
// 关于field的使用限制见下方说明
orderBy
...
...
@@ -1006,8 +1013,10 @@ const res = await db.collection(article, comment).orderBy('title desc').get() //
**field使用限制**
-
field内仅可以进行字段过滤,不可对字段重命名、进行运算,
`field('name as value')`
、
`field('add(score1, score2) as totalScore')`
都是不支持的用法
-
`HBuilderX 3.3.7`
之前 field 内仅可以进行字段过滤,不可对字段重命名、进行运算,
`field('name as value')`
、
`field('add(score1, score2) as totalScore')`
都是不支持的用法
-
`HBuilderX 3.3.7`
及以上版本支持对字段重命名或运算
-
进行联表查询时仅能使用临时表内已经过滤的字段间的关联关系,例如上面article、comment的查询,如果换成以下写法就无法联表查询
-
不建议在虚拟表内再对副表字段重命名或者运算,如果有此类需求应在临时表内进行,会出现预期之外的结果,
**为兼容旧版此用法仅输出警告不会抛出错误**
**权限校验**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录