提交 16832e5e 编写于 作者: 雪洛's avatar 雪洛

docs: update jql in

上级 5236e6dc
......@@ -2669,9 +2669,9 @@ const res = await db.collection('geo-near').aggregate().geoNear({
### 查询某字段和另一个表的字段相等的记录@enhanced-in
> 新增于 HBuilderX 3.7.9
> 新增于 HBuilderX 3.7.12
用于匹配某字段和另一个表的字段相等的记录,只能在where方法内使用
用于匹配某字段和另一个表的字段相等的记录,类似sql语句中的in+子查询的写法,只能在where方法内使用。
**示例**
......@@ -2688,8 +2688,12 @@ const company = [{
// employee表数据
const employee = [{
_id: '1',
register_date: 1678867175366,
register_date: 1671000000000,
company_id: '1'
}, {
_id: '1',
register_date: 1672000000000,
company_id: '2'
}, {
_id: '2',
register_date: 1670000000000,
......@@ -2699,7 +2703,7 @@ const employee = [{
```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在过滤条件内的记录
const res = await db.collection('employee').where(`register_date > 1670000000000 && company_id in ${companyFilter}`).get() // 获取用户表的company_id在过滤条件内的记录
```
此查询匹配到的数据库记录为
......@@ -2707,12 +2711,14 @@ const res = await db.collection('employee').where(`register_date > 1670000000000
```js
[{
_id: '1',
register_date: 1678867175366,
register_date: 1671000000000,
company_id: '1'
}]
```
注意in的这种用法底层使用了lookup方法,在数据量很大时效率不高,推荐在使用时尽量在in之外的条件内筛选出尽量小的数据集。上述示例中`register_date > 1670000000000 && company_id in ${JSON.stringify(companyFilter)}``register_date > 1670000000000`这部分条件应筛选出尽量小的结果集以便查询能更高效。
::: warning 注意
in的这种用法底层使用了lookup方法,在数据量很大时效率不高,推荐在使用时尽量在in之外的条件内筛选出尽量小的数据集。以上述示例中`register_date > 1670000000000 && company_id in ${companyFilter}`查询条件为例,`register_date > 1670000000000`这部分条件应筛选出尽量小的结果集以便查询能更高效。
:::
**使用限制**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册