• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.data.dataSharePredicates (数据共享谓词)(系统接口)
2<!--Kit: ArkData-->
3<!--Subsystem: DistributedDataManager-->
4<!--Owner: @woodenarow-->
5<!--Designer: @woodenarow; @xuelei3-->
6<!--Tester: @chenwan188; @logic42-->
7<!--Adviser: @ge-yafang-->
8
9**谓词(DataSharePredicates)** 是开发者通过DataShare查询数据库中的数据所使用的筛选条件,经常被应用在更新数据([update](js-apis-data-dataShare-sys.md#update))、删除数据([delete](js-apis-data-dataShare-sys.md#delete))和查询数据([query](js-apis-data-dataShare-sys.md#query))中。
10
11谓词的接口函数与数据库的筛选条件一一对应,开发者在使用前需了解数据库相关知识。
12
13谓词(DataSharePredicates)的使用场景如下:
14
15- 用于调用[关系型数据库](js-apis-data-relationalStore-sys.md)和[键值型数据库](js-apis-distributedKVStore-sys.md)系统接口时的检索条件使用。此种场景下,开发者根据使用的数据库类型参考对应的谓词使用方法。
16
17> **说明:**
18>
19> - 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
20>
21> - 本模块接口仅可在Stage模型下使用。
22>
23> - 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.data.dataSharePredicates (数据共享谓词)](js-apis-data-dataSharePredicates.md)。
24
25
26
27## 导入模块
28
29```ts
30import { dataSharePredicates } from '@kit.ArkData';
31```
32
33## DataSharePredicates
34提供用于不同实现不同查询方法的数据共享谓词。该类型不是多线程安全的,如果应用中存在多线程同时操作该类派生出的实例,注意加锁保护。
35
36### notEqualTo
37
38notEqualTo(field: string, value: ValueType): DataSharePredicates
39
40该接口用于配置谓词以匹配值不等于指定值的字段。
41
42目前仅关系型数据库及键值型数据库支持该谓词。
43
44**系统接口:**  此接口为系统接口。
45
46**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
47
48**参数:**
49
50| 参数名 | 类型                                                | 必填 | 说明                   |
51| ------ | --------------------------------------------------- | ---- | ---------------------- |
52| field  | string                                              | 是   | 数据库表中的列名。     |
53| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
54
55**返回值:**
56
57| 类型                                        | 说明                       |
58| ------------------------------------------- | -------------------------- |
59| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
60
61**示例:**
62
63```ts
64let predicates = new dataSharePredicates.DataSharePredicates();
65predicates.notEqualTo("NAME", "Rose");
66```
67
68### beginWrap
69
70beginWrap(): DataSharePredicates
71
72该接口用于向谓词添加左括号,相当于sql语句的“(”,必须和右括号一起使用。
73
74目前仅关系型数据库支持该谓词。
75
76**系统接口:**  此接口为系统接口。
77
78**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
79
80**返回值:**
81
82| 类型                                        | 说明                   |
83| ------------------------------------------- | ---------------------- |
84| [DataSharePredicates](#datasharepredicates) | 返回带有左括号的谓词。 |
85
86**示例:**
87
88```ts
89let predicates = new dataSharePredicates.DataSharePredicates();
90predicates.equalTo("NAME", "lisi")
91    .beginWrap()
92    .equalTo("AGE", 18)
93    .or()
94    .equalTo("SALARY", 200.5)
95    .endWrap();
96```
97
98### endWrap
99
100endWrap(): DataSharePredicates
101
102该接口用于向谓词添加右括号。
103
104目前仅关系型数据库支持该谓词。
105
106**系统接口:**  此接口为系统接口。
107
108**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
109
110**返回值:**
111
112| 类型                                        | 说明                   |
113| ------------------------------------------- | ---------------------- |
114| [DataSharePredicates](#datasharepredicates) | 返回带有右括号的谓词。 |
115
116**示例:**
117
118```ts
119let predicates = new dataSharePredicates.DataSharePredicates();
120predicates.equalTo("NAME", "lisi")
121    .beginWrap()
122    .equalTo("AGE", 18)
123    .or()
124    .equalTo("SALARY", 200.5)
125    .endWrap();
126```
127
128### or
129
130or(): DataSharePredicates
131
132该接口用于将或条件添加到谓词中。
133
134目前仅关系型数据库及键值型数据库支持该谓词。
135
136**系统接口:**  此接口为系统接口。
137
138**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
139
140**返回值:**
141
142| 类型                                        | 说明                   |
143| ------------------------------------------- | ---------------------- |
144| [DataSharePredicates](#datasharepredicates) | 返回带有或条件的谓词。 |
145
146**示例:**
147
148```ts
149let predicates = new dataSharePredicates.DataSharePredicates()
150predicates.equalTo("NAME", "lisi")
151    .or()
152    .equalTo("NAME", "Rose");
153```
154
155### contains
156
157contains(field: string, value: string): DataSharePredicates
158
159该接口用于配置谓词以匹配值包含指定字段的字段。
160
161目前仅关系型数据库支持该谓词。
162
163**系统接口:**  此接口为系统接口。
164
165**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
166
167**参数:**
168
169| 参数名 | 类型   | 必填 | 说明                 |
170| ------ | ------ | ---- | -------------------- |
171| field  | string | 是   | 数据库表中的列名。   |
172| value  | string | 是   | 指示值中包含该字段。 |
173
174**返回值:**
175
176| 类型                                        | 说明                       |
177| ------------------------------------------- | -------------------------- |
178| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
179
180**示例:**
181
182```ts
183let predicates = new dataSharePredicates.DataSharePredicates();
184predicates.contains("NAME", "os");
185```
186
187### beginsWith
188
189beginsWith(field: string, value: string): DataSharePredicates
190
191该接口用于配置谓词以匹配值以指定字符串起始的字段。
192
193目前仅关系型数据库支持该谓词。
194
195**系统接口:**  此接口为系统接口。
196
197**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
198
199**参数:**
200
201| 参数名 | 类型   | 必填 | 说明                   |
202| ------ | ------ | ---- | ---------------------- |
203| field  | string | 是   | 数据库表中的列名。     |
204| value  | string | 是   | 指示值以该字符串起始。 |
205
206**返回值:**
207
208| 类型                                        | 说明                       |
209| ------------------------------------------- | -------------------------- |
210| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
211
212**示例:**
213
214```ts
215let predicates = new dataSharePredicates.DataSharePredicates();
216predicates.beginsWith("NAME", "os");
217```
218
219### endsWith
220
221endsWith(field: string, value: string): DataSharePredicates
222
223该接口用于配置谓词以匹配值以指定字符串结尾的字段。
224
225目前仅关系型数据库支持该谓词。
226
227**系统接口:**  此接口为系统接口。
228
229**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
230
231**参数:**
232
233| 参数名 | 类型   | 必填 | 说明                   |
234| ------ | ------ | ---- | ---------------------- |
235| field  | string | 是   | 数据库表中的列名。     |
236| value  | string | 是   | 指示值以该字符串结尾。 |
237
238**返回值:**
239
240| 类型                                        | 说明                       |
241| ------------------------------------------- | -------------------------- |
242| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
243
244**示例:**
245
246```ts
247let predicates = new dataSharePredicates.DataSharePredicates();
248predicates.endsWith("NAME", "os");
249```
250
251### isNull
252
253isNull(field: string): DataSharePredicates
254
255该接口用于配置谓词以匹配值为null的字段。
256
257目前仅关系型数据库及键值型数据库支持该谓词。
258
259**系统接口:**  此接口为系统接口。
260
261**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
262
263**参数:**
264
265| 参数名 | 类型   | 必填 | 说明               |
266| ------ | ------ | ---- | ------------------ |
267| field  | string | 是   | 数据库表中的列名。 |
268
269**返回值:**
270
271| 类型                                        | 说明                       |
272| ------------------------------------------- | -------------------------- |
273| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
274
275**示例:**
276
277```ts
278let predicates = new dataSharePredicates.DataSharePredicates();
279predicates.isNull("NAME");
280```
281
282### isNotNull
283
284isNotNull(field: string): DataSharePredicates
285
286该接口用于配置谓词以匹配值不为null的字段。
287
288目前仅关系型数据库及键值型数据库支持该谓词。
289
290**系统接口:**  此接口为系统接口。
291
292**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
293
294**参数:**
295
296| 参数名 | 类型   | 必填 | 说明               |
297| ------ | ------ | ---- | ------------------ |
298| field  | string | 是   | 数据库表中的列名。 |
299
300**返回值:**
301
302| 类型                                        | 说明                       |
303| ------------------------------------------- | -------------------------- |
304| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
305
306**示例:**
307
308```ts
309let predicates = new dataSharePredicates.DataSharePredicates();
310predicates.isNotNull("NAME");
311```
312
313### like
314
315like(field: string, value: string): DataSharePredicates
316
317该接口用于配置谓词以匹配指定通配符表达式的字段。
318
319目前仅关系型数据库及键值型数据库支持该谓词。
320
321**系统接口:**  此接口为系统接口。
322
323**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
324
325**参数:**
326
327| 参数名 | 类型   | 必填 | 说明                   |
328| ------ | ------ | ---- | ---------------------- |
329| field  | string | 是   | 数据库表中的列名。     |
330| value  | string | 是   | 指示要与谓词匹配的通配符表达式。 <br>表达式中'%'代表零个、一个或多个数字或字符,'_'代表一个单一的数字或字符,不区分大小写。|
331
332**返回值:**
333
334| 类型                                        | 说明                       |
335| ------------------------------------------- | -------------------------- |
336| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
337
338**示例:**
339
340```ts
341let predicates = new dataSharePredicates.DataSharePredicates();
342predicates.like("NAME", "%os%");
343```
344
345### unlike
346
347unlike(field: string, value: string): DataSharePredicates
348
349该接口用于配置谓词以匹配不类似指定通配符表达式的字段。
350
351目前仅关系型数据库及键值型数据库支持该谓词。
352
353**系统接口:**  此接口为系统接口。
354
355**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
356
357**参数:**
358
359| 参数名 | 类型   | 必填 | 说明                   |
360| ------ | ------ | ---- | ---------------------- |
361| field  | string | 是   | 数据库表中的列名。     |
362| value  | string | 是   | 指示要与谓词匹配的通配符表达式。<br>表达式中'%'代表零个、一个或多个数字或字符,'_'代表一个单一的数字或字符,不区分大小写。 |
363
364**返回值:**
365
366| 类型                                        | 说明                       |
367| ------------------------------------------- | -------------------------- |
368| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
369
370**示例:**
371
372```ts
373let predicates = new dataSharePredicates.DataSharePredicates();
374predicates.unlike("NAME", "%os%");
375```
376
377### glob
378
379glob(field: string, value: string): DataSharePredicates
380
381该接口用于配置谓词以匹配指定通配符表达式的字段。
382
383目前仅关系型数据库支持该谓词。
384
385**系统接口:**  此接口为系统接口。
386
387**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
388
389**参数:**
390
391| 参数名 | 类型   | 必填 | 说明                   |
392| ------ | ------ | ---- | ---------------------- |
393| field  | string | 是   | 数据库表中的列名。     |
394| value  | string | 是   | 指示要与谓词匹配的通配符表达式。<br>表达式中'*'代表零个、一个或多个数字或字符,'?'代表一个单一的数字或字符,区分大小写。|
395
396**返回值:**
397
398| 类型                                        | 说明                       |
399| ------------------------------------------- | -------------------------- |
400| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
401
402**示例:**
403
404```ts
405let predicates = new dataSharePredicates.DataSharePredicates();
406predicates.glob("NAME", "?h*g");
407```
408
409### between
410
411between(field: string, low: ValueType, high: ValueType): DataSharePredicates
412
413该接口用于配置谓词以匹配值在指定范围内的字段。包含两端边界值,为左闭右闭区间,该字段的数据类型必须为int类型。
414
415目前仅关系型数据库支持该谓词。
416
417**系统接口:**  此接口为系统接口。
418
419**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
420
421**参数:**
422
423| 参数名 | 类型                                                | 必填 | 说明                     |
424| ------ | --------------------------------------------------- | ---- | ------------------------ |
425| field  | string                                              | 是   | 数据库表中的列名。       |
426| low    | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
427| high   | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
428
429**返回值:**
430
431| 类型                                        | 说明                       |
432| ------------------------------------------- | -------------------------- |
433| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
434
435**示例:**
436
437```ts
438let predicates = new dataSharePredicates.DataSharePredicates();
439predicates.between("AGE", 10, 50);
440```
441
442### notBetween
443
444notBetween(field: string, low: ValueType, high: ValueType): DataSharePredicates
445
446该接口用于配置谓词以匹配值超出指定范围的字段。不包含两端边界值,为左开右开区间,该字段的数据类型必须为int类型。
447
448目前仅关系型数据库支持该谓词。
449
450**系统接口:**  此接口为系统接口。
451
452**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
453
454**参数:**
455
456| 参数名 | 类型                                                | 必填 | 说明                     |
457| ------ | --------------------------------------------------- | ---- | ------------------------ |
458| field  | string                                              | 是   | 数据库表中的列名。       |
459| low    | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最小值。 |
460| high   | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示与谓词匹配的最大值。 |
461
462**返回值:**
463
464| 类型                                        | 说明                       |
465| ------------------------------------------- | -------------------------- |
466| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
467
468**示例:**
469
470```ts
471let predicates = new dataSharePredicates.DataSharePredicates();
472predicates.notBetween("AGE", 10, 50);
473```
474
475### greaterThan
476
477greaterThan(field: string, value: ValueType): DataSharePredicates
478
479该接口用于配置谓词以匹配值大于指定值的字段。
480
481目前仅关系型数据库及键值型数据库支持该谓词。
482
483**系统接口:**  此接口为系统接口。
484
485**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
486
487**参数:**
488
489| 参数名  | 类型      | 必填 | 说明                   |
490| ------- | --------- | ---- | ---------------------- |
491| field   | string    | 是   | 数据库表中的列名。     |
492| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
493
494**返回值:**
495
496| 类型                                        | 说明                       |
497| ------------------------------------------- | -------------------------- |
498| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
499
500**示例:**
501
502```ts
503let predicates = new dataSharePredicates.DataSharePredicates();
504predicates.greaterThan("AGE", 10);
505```
506
507### lessThan
508
509lessThan(field: string, value: ValueType): DataSharePredicates
510
511该接口用于配置谓词以匹配值小于指定值的字段。
512
513目前仅关系型数据库及键值型数据库支持该谓词。
514
515**系统接口:**  此接口为系统接口。
516
517**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
518
519**参数:**
520
521| 参数名 | 类型                                                | 必填 | 说明                   |
522| ------ | --------------------------------------------------- | ---- | ---------------------- |
523| field  | string                                              | 是   | 数据库表中的列名。     |
524| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
525
526**返回值:**
527
528| 类型                                        | 说明                       |
529| ------------------------------------------- | -------------------------- |
530| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
531
532**示例:**
533
534```ts
535let predicates = new dataSharePredicates.DataSharePredicates();
536predicates.lessThan("AGE", 50);
537```
538
539### greaterThanOrEqualTo
540
541greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
542
543该接口用于配置谓词以匹配值大于或等于指定值的字段。
544
545目前仅关系型数据库及键值型数据库支持该谓词。
546
547**系统接口:**  此接口为系统接口。
548
549**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
550
551**参数:**
552
553| 参数名  | 类型      | 必填 | 说明                   |
554| ------- | --------- | ---- | ---------------------- |
555| field   | string    | 是   | 数据库表中的列名。     |
556| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
557
558**返回值:**
559
560| 类型                                        | 说明                       |
561| ------------------------------------------- | -------------------------- |
562| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
563
564**示例:**
565
566```ts
567let predicates = new dataSharePredicates.DataSharePredicates();
568predicates.greaterThanOrEqualTo("AGE", 10);
569```
570
571### lessThanOrEqualTo
572
573lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
574
575该接口用于配置谓词以匹配值小于或等于指定值的字段。
576
577目前仅关系型数据库及键值型数据库支持该谓词。
578
579**系统接口:**  此接口为系统接口。
580
581**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
582
583**参数:**
584
585| 参数名  | 类型      | 必填 | 说明                   |
586| ------- | --------- | ---- | ---------------------- |
587| field   | string    | 是   | 数据库表中的列名。     |
588| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | 是   | 指示要与谓词匹配的值。 |
589
590**返回值:**
591
592| 类型                                        | 说明                       |
593| ------------------------------------------- | -------------------------- |
594| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
595
596**示例:**
597
598```ts
599let predicates = new dataSharePredicates.DataSharePredicates();
600predicates.lessThanOrEqualTo("AGE", 50);
601```
602
603### distinct
604
605distinct(): DataSharePredicates
606
607该接口用于配置谓词以过滤重复记录并仅保留其中一个。
608
609目前仅关系型数据库支持该谓词。
610
611**系统接口:**  此接口为系统接口。
612
613**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
614
615**返回值:**
616
617| 类型                                        | 说明                       |
618| ------------------------------------------- | -------------------------- |
619| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
620
621**示例:**
622
623```ts
624let predicates = new dataSharePredicates.DataSharePredicates();
625predicates.equalTo("NAME", "Rose").distinct();
626```
627
628### groupBy
629
630groupBy(fields: Array&lt;string&gt;): DataSharePredicates
631
632该接口用于配置谓词按指定列分组查询结果。
633
634目前仅关系型数据库支持该谓词。
635
636**系统接口:**  此接口为系统接口。
637
638**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
639
640**参数:**
641
642| 参数名 | 类型          | 必填 | 说明                 |
643| ------ | ------------- | ---- | -------------------- |
644| fields | Array&lt;string&gt; | 是   | 指定分组依赖的列名。 |
645
646**返回值:**
647
648| 类型                                        | 说明                       |
649| ------------------------------------------- | -------------------------- |
650| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
651
652**示例:**
653
654```ts
655let predicates = new dataSharePredicates.DataSharePredicates();
656predicates.groupBy(["AGE", "NAME"]);
657```
658
659### indexedBy
660
661indexedBy(field: string): DataSharePredicates
662
663该接口用于配置谓词按指定索引列查询结果。使用该方法前,需要设置索引列。
664
665目前仅关系型数据库支持该谓词。
666
667**系统接口:**  此接口为系统接口。
668
669**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
670
671**参数:**
672
673| 参数名 | 类型   | 必填 | 说明           |
674| ------ | ------ | ---- | -------------- |
675| field  | string | 是   | 索引列的名称。 |
676
677**返回值:**
678
679| 类型                                        | 说明                       |
680| ------------------------------------------- | -------------------------- |
681| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
682
683**示例:**
684
685```ts
686let predicates = new dataSharePredicates.DataSharePredicates();
687predicates.indexedBy("SALARY_INDEX");
688```
689
690### notIn
691
692notIn(field: string, value: Array&lt;ValueType&gt;): DataSharePredicates
693
694该接口用于配置谓词以匹配值不在指定范围内的字段。
695
696目前仅关系型数据库及键值型数据库支持该谓词。
697
698**系统接口:**  此接口为系统接口。
699
700**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
701
702**参数:**
703
704| 参数名  | 类型             | 必填 | 说明                                    |
705| ------- | ---------------- | ---- | --------------------------------------- |
706| field   | string           | 是   | 数据库表中的列名。                      |
707| value | Array&lt;[ValueType](js-apis-data-valuesBucket.md#valuetype)&gt; | 是   | 以ValueType型数组形式指定的要匹配的值。 |
708
709**返回值:**
710
711| 类型                                        | 说明                       |
712| ------------------------------------------- | -------------------------- |
713| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
714
715**示例:**
716
717```ts
718let predicates = new dataSharePredicates.DataSharePredicates();
719predicates.notIn("NAME", ["Lisa", "Rose"]);
720```
721
722### prefixKey
723
724prefixKey(prefix: string): DataSharePredicates
725
726该接口用于配置谓词以匹配键前缀的指定字段。
727
728目前仅KVDB支持该谓词。
729
730**系统接口:**  此接口为系统接口。
731
732**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
733
734**参数:**
735
736| 参数名 | 类型   | 必填 | 说明           |
737| ------ | ------ | ---- | -------------- |
738| prefix | string | 是   | 指定的键前缀。 |
739
740**返回值:**
741
742| 类型                                        | 说明                       |
743| ------------------------------------------- | -------------------------- |
744| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
745
746**示例:**
747
748```ts
749let predicates = new dataSharePredicates.DataSharePredicates();
750predicates.prefixKey("NAME");
751```
752
753### inKeys
754
755inKeys(keys: Array&lt;string&gt;): DataSharePredicates
756
757该接口用于配置谓词以匹配键在指定范围内的字段。
758
759目前仅KVDB支持该谓词。
760
761**系统接口:**  此接口为系统接口。
762
763**系统能力:**  SystemCapability.DistributedDataManager.DataShare.Core
764
765**参数:**
766
767| 参数名 | 类型          | 必填 | 说明               |
768| ------ | ------------- | ---- | ------------------ |
769| keys | Array&lt;string&gt; | 是   | 指定范围的键数组。 |
770
771**返回值:**
772
773| 类型                                        | 说明                       |
774| ------------------------------------------- | -------------------------- |
775| [DataSharePredicates](#datasharepredicates) | 返回与指定字段匹配的谓词。 |
776
777**示例:**
778
779```ts
780let predicates = new dataSharePredicates.DataSharePredicates();
781predicates.inKeys(["Lisa", "Rose"]);
782```