Исходя из моей интерпретации, которая заключается в том, что вы хотите вернуть имя столбца и порядок сортировки столбца, который имеет сортировку, я бы предложил следующее решение.
Во-первых, обратите внимание, что при использовании query.sorting.YourFieldName.
в сценарии сервера запросов в автозаполнении кода представлены следующие параметры: _ascending, _descending, _order и _priority. При наведении указателя мыши на выбор _order вы заметите, что это свойство доступно только для чтения, и в нем говорится, что возрастающий порядок вернет true, а убывающий порядок - false. То, что не упомянуто, - то, что никакой заказ на определенном столбце не возвратит неопределенный.
Таким образом, следующий код работал для меня и возвратил консольный журнал с именем столбца и порядком, хотя этот код не берется, если есть какие-либо поля отношения, которые отсортированы:
var query = app.models.Person.newQuery();
query.sorting.Name._ascending();
var fields = app.metadata.models.Person.fields;
for (var i in fields) {
//if statement first checks column is not a foreign key and that column has sorting
if(i.indexOf('_fk') === -1 && query.sorting[i]._order !== undefined) {
console.log(query.sorting[i]._order ? 'Column Name: ' + i + ', Order: Ascending' : 'Column Name: ' + i + ', Order: Descending');
}
}
Консоль выдаст «Имя столбца: Имя, Порядок: По возрастанию». Дайте нам знать, если это то, что вы на самом деле ищете.