queryMap
Преобразует каждую строку запроса с помощью функции, изменяющей поля строки
queryMap(query, function(row [, currentRow] [, query] ){} [, parallel] [, maxThreads]) → returns query
Синтаксис функции-члена
query.map(function(row [, currentRow] [, query] ){} [, parallel] [, maxThreads])
Аргументы
query query Обязательный
запрос, из которого обрабатываются записи
callback boolean Обязательный
Замыкание или ссылка на функцию, которая будет вызываться для каждой итерации.
Параметры callback:
-
row* struct : Структура со всеми столбцами для текущей итерации -
currentRow* numeric : Значение для текущей итерации -
query* query : Ссылка на исходную структуру
parallel boolean
По умолчанию: false
false
Lucee 4.5+ true, если элементы можно выполнять параллельно
Значения:
truefalse
maxThreads numeric
По умолчанию: 20
20
Lucee 4.5+ максимальное количество потоков, используемых при parallel = true
Ссылки дополнительная информация о queryMap
- Отображение, свёртка и другие функции высшего порядка — введение в отображение, свёртку, фильтрацию и функции высшего порядка в целом.
- ColdFusion 2016: функции итерации запросов — обзор функций высшего порядка для запросов
Примеры Пример кода, вызывающего функцию queryMap
Изменяет столбец запроса
news = queryNew("id,title",
"integer,varchar", [{
"id": 1,
"title": "Dewey defeats Truman"
}, {
"id": 2,
"title": "Man walks on Moon"
}]
);
writeDump(news);
function mapQuery(any Obj) {
if (Obj.id == 1)
Obj.title = "NEW: " & Obj.title;
return Obj;
}
newQuery = QueryMap(news, mapQuery);
writeDump(newQuery);
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/querymap