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