0

在我通过 URL 将记录名称传递到第二页的网站上工作。我看到了 recordName {data} 的正确解析,然后尝试将其用于带有 filterBy 的查询,如下所示:

        var query = { recordType: 'Events', 
            filterBy: [{
                fieldName: 'recordName',
                comparator: 'EQUALS',
                fieldValue: {value: [{data}]
                }
            }]
         };

         return publicDB.performQuery(query).then(function (response) {
            if(response.hasErrors) {
                console.error(response.errors[0]);
                return;
            }

            var records = response.records;
            var numberOfRecords = records.length;
            if (numberOfRecords === 0) {
                console.error('No matching items');
                return;
            }

            self.events(records);

这种方法和其他将 fieldName 指定为 recordName 的尝试都会产生相同的错误消息:

    ckErrorCode:"NOT_FOUND"
    extensionErrorCode:undefined
    reason:"ObjectNotFoundException: no such field recordName"
    recordName:undefined
    redirectURL:undefined
    retryAfter:undefined
    serverErrorCode:"NOT_FOUND"
    subscriptionID:undefined
    uuid:"7ff93475-a22c-4ae2-859f-4a219e0253b1"
    zoneID:undefined
    message:"ObjectNotFoundException: no such field recordName"

这看起来很奇怪,但也许这是很容易解决的明显问题。

任何建议表示赞赏。

4

1 回答 1

3

recordName是一个系统字段,下面是您应该如何查询这些字段:

var query = {
    recordType: 'Events',
    filterBy: [{
        comparator: 'EQUALS',
        systemFieldName: 'recordName',
        fieldValue: {
            value: 'the-name-of-the-record'
        }
    }]
}

由于一个已知的错误,您必须在周围添加一个额外的包装器recordName

var query = {
    recordType: 'Events,
    filterBy: [{
        comparator: 'EQUALS',
        systemFieldName: 'recordName',
        fieldValue: {
            value: {
                recordName: 'the-name-of-the-record'
            }
        }
    }]
}
于 2016-01-26T01:05:23.493 回答