• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.data.dataSharePredicates (DataShare Predicates)
2
3You can use **DataSharePredicates** to specify conditions for [updating](js-apis-data-dataShare.md#update), [deleting](js-apis-data-dataShare.md#delete), and [querying](js-apis-data-dataShare.md#query) data when **DataShare** is used to manage data.
4
5The APIs provided by  **DataSharePredicates** correspond to the filter criteria of the database. Before using the APIs, you need to have basic database knowledge.
6
7> **NOTE**
8>
9> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
10>- The APIs provided by this module are system APIs.
11
12
13## Modules to Import
14
15```ts
16import dataSharePredicates from '@ohos.data.dataSharePredicates';
17```
18
19## DataSharePredicates
20Provides methods for setting different **DataSharePredicates** objects. This type is not multi-thread safe. If a **DataSharePredicates** instance is operated by multiple threads at the same time in an application, use a lock for the instance.
21
22### equalTo
23
24equalTo(field: string, value: ValueType): DataSharePredicates
25
26Sets a **DataSharePredicates** object to search for the data that is equal to the specified value.
27
28Currently, only the relational database (RDB) and key-value database (KVDB, schema) support this **DataSharePredicates** object.
29
30**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
31
32**Parameters**
33
34| Name| Type                                               | Mandatory| Description                  |
35| ------ | --------------------------------------------------- | ---- | ---------------------- |
36| field  | string                                              | Yes  | Column name in the database table.    |
37| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | Value to match.|
38
39**Return value**
40
41| Type                                       | Description                      |
42| ------------------------------------------- | -------------------------- |
43| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
44
45**Example**
46
47```ts
48let predicates = new dataSharePredicates.DataSharePredicates()
49predicates.equalTo("NAME", "Rose")
50```
51
52### notEqualTo
53
54notEqualTo(field: string, value: ValueType): DataSharePredicates
55
56Sets a **DataSharePredicates** object to search for the data that is not equal to the specified value.
57
58Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
59
60**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
61
62**Parameters**
63
64| Name| Type                                               | Mandatory| Description                  |
65| ------ | --------------------------------------------------- | ---- | ---------------------- |
66| field  | string                                              | Yes  | Column name in the database table.    |
67| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | Value to match.|
68
69**Return value**
70
71| Type                                       | Description                      |
72| ------------------------------------------- | -------------------------- |
73| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
74
75**Example**
76
77```ts
78let predicates = new dataSharePredicates.DataSharePredicates()
79predicates.notEqualTo("NAME", "Rose")
80```
81
82### beginWrap
83
84beginWrap(): DataSharePredicates
85
86Adds a left parenthesis to this **DataSharePredicates**.
87
88Currently, only the RDB supports this **DataSharePredicates** object.
89
90**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
91
92**Return value**
93
94| Type                                       | Description                  |
95| ------------------------------------------- | ---------------------- |
96| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object with a left parenthesis.|
97
98**Example**
99
100```ts
101let predicates = new dataSharePredicates.DataSharePredicates()
102predicates.equalTo("NAME", "lisi")
103    .beginWrap()
104    .equalTo("AGE", 18)
105    .or()
106    .equalTo("SALARY", 200.5)
107    .endWrap()
108```
109
110### endWrap
111
112endWrap(): DataSharePredicates
113
114Adds a right parenthesis to this **DataSharePredicates** object.
115
116Currently, only the RDB supports this **DataSharePredicates** object.
117
118**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
119
120**Return value**
121
122| Type                                       | Description                  |
123| ------------------------------------------- | ---------------------- |
124| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object with a right parenthesis.|
125
126**Example**
127
128```ts
129let predicates = new dataSharePredicates.DataSharePredicates()
130predicates.equalTo("NAME", "lisi")
131    .beginWrap()
132    .equalTo("AGE", 18)
133    .or()
134    .equalTo("SALARY", 200.5)
135    .endWrap()
136```
137
138### or
139
140or(): DataSharePredicates
141
142Adds the OR condition to this **DataSharePredicates** object.
143
144Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
145
146**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
147
148**Return value**
149
150| Type                                       | Description                  |
151| ------------------------------------------- | ---------------------- |
152| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object with the OR condition.|
153
154**Example**
155
156```ts
157let predicates = new dataSharePredicates.DataSharePredicates()
158predicates.equalTo("NAME", "lisi")
159    .or()
160    .equalTo("NAME", "Rose")
161```
162
163### and
164
165and(): DataSharePredicates
166
167Adds the AND condition to this **DataSharePredicates** object.
168
169Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
170
171**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
172
173**Return value**
174
175| Type                                       | Description                  |
176| ------------------------------------------- | ---------------------- |
177| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object with the AND condition.|
178
179**Example**
180
181```ts
182let predicates = new dataSharePredicates.DataSharePredicates()
183predicates.equalTo("NAME", "lisi")
184    .and()
185    .equalTo("SALARY", 200.5)
186```
187
188### contains
189
190contains(field: string, value: string): DataSharePredicates
191
192Sets a **DataSharePredicates** object to search for the data that contains the specified value.
193
194Currently, only the RDB supports this **DataSharePredicates** object.
195
196**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
197
198**Parameters**
199
200| Name| Type  | Mandatory| Description                |
201| ------ | ------ | ---- | -------------------- |
202| field  | string | Yes  | Column name in the database table.  |
203| value  | string | Yes  | Value to match.|
204
205**Return value**
206
207| Type                                       | Description                      |
208| ------------------------------------------- | -------------------------- |
209| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
210
211**Example**
212
213```ts
214let predicates = new dataSharePredicates.DataSharePredicates()
215predicates.contains("NAME", "os")
216```
217
218### beginsWith
219
220beginsWith(field: string, value: string): DataSharePredicates
221
222Sets a **DataSharePredicates** object to search for the data that begins with the specified value.
223
224Currently, only the RDB supports this **DataSharePredicates** object.
225
226**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
227
228**Parameters**
229
230| Name| Type  | Mandatory| Description                  |
231| ------ | ------ | ---- | ---------------------- |
232| field  | string | Yes  | Column name in the database table.    |
233| value  | string | Yes  | Start value to match.|
234
235**Return value**
236
237| Type                                       | Description                      |
238| ------------------------------------------- | -------------------------- |
239| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
240
241**Example**
242
243```ts
244let predicates = new dataSharePredicates.DataSharePredicates()
245predicates.beginsWith("NAME", "os")
246```
247
248### endsWith
249
250endsWith(field: string, value: string): DataSharePredicates
251
252Sets a **DataSharePredicates** object to search for the data that ends with the specified value.
253
254Currently, only the RDB supports this **DataSharePredicates** object.
255
256**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
257
258**Parameters**
259
260| Name| Type  | Mandatory| Description                  |
261| ------ | ------ | ---- | ---------------------- |
262| field  | string | Yes  | Column name in the database table.    |
263| value  | string | Yes  | End value to match.|
264
265**Return value**
266
267| Type                                       | Description                      |
268| ------------------------------------------- | -------------------------- |
269| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
270
271**Example**
272
273```ts
274let predicates = new dataSharePredicates.DataSharePredicates()
275predicates.endsWith("NAME", "os")
276```
277
278### isNull
279
280isNull(field: string): DataSharePredicates
281
282Sets a **DataSharePredicates** object to search for the data whose value is null.
283
284Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
285
286**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
287
288**Parameters**
289
290| Name| Type  | Mandatory| Description              |
291| ------ | ------ | ---- | ------------------ |
292| field  | string | Yes  | Column name in the database table.|
293
294**Return value**
295
296| Type                                       | Description                      |
297| ------------------------------------------- | -------------------------- |
298| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
299
300**Example**
301
302```ts
303let predicates = new dataSharePredicates.DataSharePredicates()
304predicates.isNull("NAME")
305```
306
307### isNotNull
308
309isNotNull(field: string): DataSharePredicates
310
311Sets a **DataSharePredicates** object to search for the data whose value is not null.
312
313Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
314
315**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
316
317**Parameters**
318
319| Name| Type  | Mandatory| Description              |
320| ------ | ------ | ---- | ------------------ |
321| field  | string | Yes  | Column name in the database table.|
322
323**Return value**
324
325| Type                                       | Description                      |
326| ------------------------------------------- | -------------------------- |
327| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
328
329**Example**
330
331```ts
332let predicates = new dataSharePredicates.DataSharePredicates()
333predicates.isNotNull("NAME")
334```
335
336### like
337
338like(field: string, value: string): DataSharePredicates
339
340Sets a **DataSharePredicates** object to search for the data that matches the specified wildcard expression.
341
342Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
343
344**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
345
346**Parameters**
347
348| Name| Type  | Mandatory| Description                  |
349| ------ | ------ | ---- | ---------------------- |
350| field  | string | Yes  | Column name in the database table.    |
351| value  | string | Yes  | Wildcard expression to match.<br>In the expression, '%' represents zero, one, or more digits or characters, and '_' represents a single digit or character. It is case insensitive.|
352
353**Return value**
354
355| Type                                       | Description                      |
356| ------------------------------------------- | -------------------------- |
357| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
358
359**Example**
360
361```ts
362let predicates = new dataSharePredicates.DataSharePredicates()
363predicates.like("NAME", "%os%")
364```
365
366### unlike
367
368unlike(field: string, value: string): DataSharePredicates
369
370Sets a **DataSharePredicates** object to search for the data that does not match the specified wildcard expression.
371
372Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
373
374**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
375
376**Parameters**
377
378| Name| Type  | Mandatory| Description                  |
379| ------ | ------ | ---- | ---------------------- |
380| field  | string | Yes  | Column name in the database table.    |
381| value  | string | Yes  | Wildcard expression to match.<br>In the expression, '%' represents zero, one, or more digits or characters, and '_' represents a single digit or character. It is case insensitive.|
382
383**Return value**
384
385| Type                                       | Description                      |
386| ------------------------------------------- | -------------------------- |
387| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
388
389**Example**
390
391```ts
392let predicates = new dataSharePredicates.DataSharePredicates()
393predicates.unlike("NAME", "%os%")
394```
395
396### glob
397
398glob(field: string, value: string): DataSharePredicates
399
400Sets a **DataSharePredicates** object to search for the data that matches the specified wildcard expression.
401
402Currently, only the RDB supports this **DataSharePredicates** object.
403
404**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
405
406**Parameters**
407
408| Name| Type  | Mandatory| Description                  |
409| ------ | ------ | ---- | ---------------------- |
410| field  | string | Yes  | Column name in the database table.    |
411| value  | string | Yes  | Wildcard expression to match.<br>In the expression, '*' represents zero, one, or more digits or characters, and '?' represents a single digit or character. It is case sensitive.|
412
413**Return value**
414
415| Type                                       | Description                      |
416| ------------------------------------------- | -------------------------- |
417| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
418
419**Example**
420
421```ts
422let predicates = new dataSharePredicates.DataSharePredicates()
423predicates.glob("NAME", "?h*g")
424```
425
426### between
427
428between(field: string, low: ValueType, high: ValueType): DataSharePredicates
429
430Sets a **DataSharePredicates** object to match the data that is within the specified range, including the start and end values.
431
432Currently, only the RDB supports this **DataSharePredicates** object.
433
434**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
435
436**Parameters**
437
438| Name| Type                                               | Mandatory| Description                    |
439| ------ | --------------------------------------------------- | ---- | ------------------------ |
440| field  | string                                              | Yes  | Column name in the database table.      |
441| low    | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | The lowest value of the range.|
442| high   | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | The highest value of the range.|
443
444**Return value**
445
446| Type                                       | Description                      |
447| ------------------------------------------- | -------------------------- |
448| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
449
450**Example**
451
452```ts
453let predicates = new dataSharePredicates.DataSharePredicates()
454predicates.between("AGE", 10, 50)
455```
456
457### notBetween
458
459notBetween(field: string, low: ValueType, high: ValueType): DataSharePredicates
460
461Sets a **DataSharePredicates** object to match the data that is out of the specified range, excluding the start and end values.
462
463Currently, only the RDB supports this **DataSharePredicates** object.
464
465**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
466
467**Parameters**
468
469| Name| Type                                               | Mandatory| Description                    |
470| ------ | --------------------------------------------------- | ---- | ------------------------ |
471| field  | string                                              | Yes  | Column name in the database table.      |
472| low    | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | The lowest value of the range.|
473| high   | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | The highest value of the range.|
474
475**Return value**
476
477| Type                                       | Description                      |
478| ------------------------------------------- | -------------------------- |
479| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
480
481**Example**
482
483```ts
484let predicates = new dataSharePredicates.DataSharePredicates()
485predicates.notBetween("AGE", 10, 50)
486```
487
488### greaterThan
489
490greaterThan(field: string, value: ValueType): DataSharePredicates
491
492Sets a **DataSharePredicates** object to search for the data that is greater than the specified value.
493
494Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
495
496**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
497
498**Parameters**
499
500| Name | Type     | Mandatory| Description                  |
501| ------- | --------- | ---- | ---------------------- |
502| field   | string    | Yes  | Column name in the database table.    |
503| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | Value to match.|
504
505**Return value**
506
507| Type                                       | Description                      |
508| ------------------------------------------- | -------------------------- |
509| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
510
511**Example**
512
513```ts
514let predicates = new dataSharePredicates.DataSharePredicates()
515predicates.greaterThan("AGE", 10)
516```
517
518### lessThan
519
520lessThan(field: string, value: ValueType): DataSharePredicates
521
522Sets a **DataSharePredicates** object to search for the data that is less than the specified value.
523
524Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
525
526**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
527
528**Parameters**
529
530| Name| Type                                               | Mandatory| Description                  |
531| ------ | --------------------------------------------------- | ---- | ---------------------- |
532| field  | string                                              | Yes  | Column name in the database table.    |
533| value  | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | Value to match.|
534
535**Return value**
536
537| Type                                       | Description                      |
538| ------------------------------------------- | -------------------------- |
539| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
540
541**Example**
542
543```ts
544let predicates = new dataSharePredicates.DataSharePredicates()
545predicates.lessThan("AGE", 50)
546```
547
548### greaterThanOrEqualTo
549
550greaterThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
551
552Sets a **DataSharePredicates** object to search for the data that is greater than or equal to the specified value.
553
554Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
555
556**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
557
558**Parameters**
559
560| Name | Type     | Mandatory| Description                  |
561| ------- | --------- | ---- | ---------------------- |
562| field   | string    | Yes  | Column name in the database table.    |
563| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | Value to match.|
564
565**Return value**
566
567| Type                                       | Description                      |
568| ------------------------------------------- | -------------------------- |
569| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
570
571**Example**
572
573```ts
574let predicates = new dataSharePredicates.DataSharePredicates()
575predicates.greaterThanOrEqualTo("AGE", 10)
576```
577
578### lessThanOrEqualTo
579
580lessThanOrEqualTo(field: string, value: ValueType): DataSharePredicates
581
582Sets a **DataSharePredicates** object to search for the data that is less than or equal to the specified value.
583
584Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
585
586**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
587
588**Parameters**
589
590| Name | Type     | Mandatory| Description                  |
591| ------- | --------- | ---- | ---------------------- |
592| field   | string    | Yes  | Column name in the database table.    |
593| value | [ValueType](js-apis-data-valuesBucket.md#valuetype) | Yes  | Value to match.|
594
595**Return value**
596
597| Type                                       | Description                      |
598| ------------------------------------------- | -------------------------- |
599| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
600
601**Example**
602
603```ts
604let predicates = new dataSharePredicates.DataSharePredicates()
605predicates.lessThanOrEqualTo("AGE", 50)
606```
607
608### orderByAsc
609
610orderByAsc(field: string): DataSharePredicates
611
612Sets a **DataSharePredicates** object that sorts data in ascending order.
613
614Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
615
616**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
617
618**Parameters**
619
620| Name| Type  | Mandatory| Description              |
621| ------ | ------ | ---- | ------------------ |
622| field  | string | Yes  | Column name in the database table.|
623
624**Return value**
625
626| Type                                       | Description                      |
627| ------------------------------------------- | -------------------------- |
628| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
629
630**Example**
631
632```ts
633let predicates = new dataSharePredicates.DataSharePredicates()
634predicates.orderByAsc("AGE")
635```
636
637### orderByDesc
638
639orderByDesc(field: string): DataSharePredicates
640
641Sets a **DataSharePredicates** object that sorts data in descending order.
642
643Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
644
645**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
646
647**Parameters**
648
649| Name| Type  | Mandatory| Description              |
650| ------ | ------ | ---- | ------------------ |
651| field  | string | Yes  | Column name in the database table.|
652
653**Return value**
654
655| Type                                       | Description                      |
656| ------------------------------------------- | -------------------------- |
657| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
658
659**Example**
660
661```ts
662let predicates = new dataSharePredicates.DataSharePredicates()
663predicates.orderByDesc("AGE")
664```
665
666### distinct
667
668distinct(): DataSharePredicates
669
670Sets a **DataSharePredicates** object to filter out duplicate data records.
671
672Currently, only the RDB supports this **DataSharePredicates** object.
673
674**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
675
676**Return value**
677
678| Type                                       | Description                      |
679| ------------------------------------------- | -------------------------- |
680| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
681
682**Example**
683
684```ts
685let predicates = new dataSharePredicates.DataSharePredicates()
686predicates.equalTo("NAME", "Rose").distinct()
687```
688
689### limit
690
691limit(total: number, offset: number): DataSharePredicates
692
693Sets a **DataSharePredicates** object to specify the number of results and the start position.
694
695Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
696
697**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
698
699**Parameters**
700
701| Name  | Type  | Mandatory| Description          |
702| -------- | ------ | ---- | -------------- |
703| total    | number | Yes  | Number of results.  |
704| offset | number | Yes  | Start position.|
705
706**Return value**
707
708| Type                                       | Description                      |
709| ------------------------------------------- | -------------------------- |
710| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
711
712**Example**
713
714```ts
715let predicates = new dataSharePredicates.DataSharePredicates()
716predicates.equalTo("NAME", "Rose").limit(10, 3)
717```
718
719### groupBy
720
721groupBy(fields: Array&lt;string&gt;): DataSharePredicates
722
723Sets a **DataSharePredicates** object group the records according to the specified fields.
724
725Currently, only the RDB supports this **DataSharePredicates** object.
726
727**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
728
729**Parameters**
730
731| Name| Type         | Mandatory| Description                |
732| ------ | ------------- | ---- | -------------------- |
733| fields | Array&lt;string&gt; | Yes  | Names of the columns by which the records are grouped.|
734
735**Return value**
736
737| Type                                       | Description                      |
738| ------------------------------------------- | -------------------------- |
739| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
740
741**Example**
742
743```ts
744let predicates = new dataSharePredicates.DataSharePredicates()
745predicates.groupBy(["AGE", "NAME"])
746```
747
748### indexedBy
749
750indexedBy(field: string): DataSharePredicates
751
752Sets a **DataSharePredicates** object to list data by the specified index.
753
754Currently, only the RDB supports this **DataSharePredicates** object.
755
756**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
757
758**Parameters**
759
760| Name| Type  | Mandatory| Description          |
761| ------ | ------ | ---- | -------------- |
762| field  | string | Yes  | Name of the index column.|
763
764**Return value**
765
766| Type                                       | Description                      |
767| ------------------------------------------- | -------------------------- |
768| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
769
770**Example**
771
772```ts
773let predicates = new dataSharePredicates.DataSharePredicates()
774predicates.indexedBy("SALARY_INDEX")
775```
776
777### in
778
779in(field: string, value: Array&lt;ValueType&gt;): DataSharePredicates
780
781Sets a **DataSharePredicates** object to search for the data that is within the specified value.
782
783Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
784
785**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
786
787**Parameters**
788
789| Name | Type            | Mandatory| Description                                   |
790| ------- | ---------------- | ---- | --------------------------------------- |
791| field   | string           | Yes| Column name in the database table.                     |
792| value | Array&lt;[ValueType](js-apis-data-valuesBucket.md#valuetype)&gt; | Yes  | Array of the values to match.|
793
794**Return value**
795
796| Type                                       | Description                      |
797| ------------------------------------------- | -------------------------- |
798| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
799
800**Example**
801
802```ts
803let predicates = new dataSharePredicates.DataSharePredicates()
804predicates.in("AGE", [18, 20])
805```
806
807### notIn
808
809notIn(field: string, value: Array&lt;ValueType&gt;): DataSharePredicates
810
811Sets a **DataSharePredicates** object to search for the data that is not in the specified value.
812
813Currently, only the RDB and KVDB (schema) support this **DataSharePredicates** object.
814
815**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
816
817**Parameters**
818
819| Name | Type            | Mandatory| Description                                   |
820| ------- | ---------------- | ---- | --------------------------------------- |
821| field   | string           | Yes  | Column name in the database table.                     |
822| value | Array&lt;[ValueType](js-apis-data-valuesBucket.md#valuetype)&gt; | Yes  | Array of the values to match.|
823
824**Return value**
825
826| Type                                       | Description                      |
827| ------------------------------------------- | -------------------------- |
828| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
829
830**Example**
831
832```ts
833let predicates = new dataSharePredicates.DataSharePredicates()
834predicates.notIn("NAME", ["Lisa", "Rose"])
835```
836
837### prefixKey
838
839prefixKey(prefix: string): DataSharePredicates
840
841Sets a **DataSharePredicates** object to search for the data with the specified key prefix.
842
843Currently, only the KVDB supports this **DataSharePredicates** object.
844
845**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
846
847**Parameters**
848
849| Name| Type  | Mandatory| Description          |
850| ------ | ------ | ---- | -------------- |
851| prefix | string | Yes  | Key prefix to match.|
852
853**Return value**
854
855| Type                                       | Description                      |
856| ------------------------------------------- | -------------------------- |
857| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
858
859**Example**
860
861```ts
862let predicates = new dataSharePredicates.DataSharePredicates()
863predicates.prefixKey("NAME")
864```
865
866### inKeys
867
868inKeys(keys: Array&lt;string&gt;): DataSharePredicates
869
870Sets a **DataSharePredicates** object to search for the data whose keys are within the given range.
871
872Currently, only the KVDB supports this **DataSharePredicates** object.
873
874**System capability**: SystemCapability.DistributedDataManager.DataShare.Core
875
876**Parameters**
877
878| Name| Type         | Mandatory| Description              |
879| ------ | ------------- | ---- | ------------------ |
880| inKeys | Array&lt;string&gt; | Yes  | Array of the keys to match.|
881
882**Return value**
883
884| Type                                       | Description                      |
885| ------------------------------------------- | -------------------------- |
886| [DataSharePredicates](#datasharepredicates) | **DataSharePredicates** object created.|
887
888**Example**
889
890```ts
891let predicates = new dataSharePredicates.DataSharePredicates()
892predicates.inKeys(["Lisa", "Rose"])
893```
894