diff --git a/docs/uniCloud/unicloud-db.md b/docs/uniCloud/unicloud-db.md index a29608eaf1111415c22700fb0181081cc398928a..9bdff91c246de48616831fd06467695e0ae85cdb 100644 --- a/docs/uniCloud/unicloud-db.md +++ b/docs/uniCloud/unicloud-db.md @@ -682,25 +682,55 @@ H5平台,开发模式下浏览器控制台输入 `unidev.clientDB.data`,可 ## 联表查询 +联表查询有以下两种写法,对于数据量稍大的表推荐使用多个临时表组成的数组作为collection,可以在主表的getTemp内先进行过滤减小联表时的性能消耗。 + +更多关于联表查询的内容请参考:[JQL联表查询](https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup) + +**多个collection字符串拼接** + +用于联表查询,注意主表副表之间需要在schema内以foreignKey关联(副表支持多个)。如下示例以book作为主表,关联author表进行查询,在book表的schema内设置author_id字段指向author表 + +```html + + {{error.message}} + 正在加载... + + {{data}} + + +``` + +**多个临时表组成的数组** + +同样用于联表查询,但是与直接拼接多个字符串的方式不同,可以先对主表进行处理再关联。和直接使用多个表名字符串拼接相比,在主表数据量大的情况下性能有明显提升 + ```html -// 注意 `collection` 属性需要传入所有用到的表名,用逗号分隔,主表需要放在第一位 -// where 属性 查询order表内书名为“三国演义”的订单 -// field 属性 查询book表返回book表内的title、book表内的author、order表内的quantity + ``` -联表查询详情参考 [https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup](https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup) - ## 列表分页@page unicloud-db组件简化了列表分页的写法,只需简单的配置每页需要多少数据(默认是20条),不管是数据库的分页查询还是前端的列表分页展示,都自动封装了。