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<string>): 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<string> | 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<ValueType>): 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<[ValueType](js-apis-data-valuesBucket.md#valuetype)> | 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<ValueType>): 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<[ValueType](js-apis-data-valuesBucket.md#valuetype)> | 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<string>): 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<string> | 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