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