使用IN比较器和数组值的CloudKit JS查询

时间:2015-11-18 06:55:18

标签: javascript cloudkit cloudkit-web-services

我正在做CloudKit JS网络应用。

我在使用比较器IN进行查询时遇到问题。 我尝试使用不同的fieldValue属性值,但没有一个成功。

以下是查询:

  var publicIDs = ['TEST_ID'];  
  var query = {  
            recordType: 'PublicInfo',  
            filterBy: [{  
                      fieldName: 'publicID',  
                      comparator: 'IN',  
                      fieldValue: { value:  publicIDs}  
            }]  
  };  
  publicDB.performQuery(query) ...  

当我这样做时,我得到以下错误结果:

_ckErrorCode: "BAD_REQUEST"  
_extensionErrorCode: undefined  
_reason: "BadRequestException: Invalid value, expected type STRING but actual value was a list with objects of class java.lang.String"  
_recordName: undefined  
_redirectURL: undefined  
_retryAfter: undefined  
_serverErrorCode: "BAD_REQUEST"  
_subscriptionID: undefined  
_uuid: "5470373b-8665-49a0-8c3c-ebbd4df37bbd"  
_zoneID: undefined  
message: "BadRequestException: Invalid value, expected type STRING but actual value was a list with objects of class java.lang.String"  

如果我更换

  fieldValue: { value:  publicIDs}  

  fieldValue: { value:  publicIDs, type: 'list' }  

甚至

  fieldValue: { value:  publicIDs, type: 'array' }  

我收到以下错误结果:

_ckErrorCode: "BAD_REQUEST"  
_extensionErrorCode: undefined  
_reason: "BadRequestException: Unexpected input"  
_recordName: undefined  
_redirectURL: undefined  
_retryAfter: undefined  
_serverErrorCode: "BAD_REQUEST"  
_subscriptionID: undefined  
_uuid: "ccb1d8bb-03e6-476b-b111-89fe3cddbf6d"  
_zoneID: undefined  
message: "BadRequestException: Unexpected input"  

如果我使用比较器" EQUALS"并且在查询中使用单个值而不是数组,我得到了正确的结果而没有错误。

Cloudkit JS文档说我们可以使用" IN"比较。但是没有更多信息,即如何在查询中指定数组值。

有没有人知道要使用的正确语法?

0 个答案:

没有答案