Фильтр запросов Cloudkit JS by recordName выдает ошибку
Работаю над сайтом, на котором я передаю recordName на вторую страницу через 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"
Это кажется странным, но, возможно, это нечто очевидное, что легко исправить.
Любые предложения приветствуются.
1 ответ
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'
}
}
}]
}