Перейти к содержимому

Код в n8n

Обзор возможностей программирования в n8n

Expressions

Динамические значения в полях нод

Code Node

Полноценный JavaScript/Python код

Function Item

Обработка каждого item отдельно

External Libraries

Использование npm пакетов

ЗадачаРешение
Динамическое значение поляExpression
Простое преобразованиеExpression с методами
Сложная логикаCode Node
Обработка каждого itemCode Node или Function Item
Внешние библиотекиCode Node
МатематикаExpression или Calculator Tool

Вставляются в любое поле через {{ }}:

// Доступ к данным
{{ $json.name }}
// Вызов методов
{{ $json.name.toUpperCase() }}
// Тернарный оператор
{{ $json.age >= 18 ? 'adult' : 'minor' }}

Полный контроль над данными:

// JavaScript
const items = $input.all();
return items.map(item => ({
json: {
...item.json,
processed: true
}
}));
# Python
items = _input.all()
for item in items:
item['json']['processed'] = True
return items
ОбъектОписание
$inputВходные данные
$jsonJSON текущего item
$binaryBinary данные
$('Node')Данные из ноды по имени
$envПеременные окружения
$varsГлобальные переменные
$nowТекущее время
$todayСегодняшняя дата
$itemIndexИндекс текущего item
{{ $json.price.toFixed(2) }} // "99.00"
{{ $json.name.trim().toLowerCase() }} // "john"
{{ $json.date.format('DD.MM.YYYY') }} // "15.01.2025"
{{ $json.status === 'active' ? '✅' : '❌' }}
{{ $json.items?.length || 0 }}
{{ $json.name ?? 'Unknown' }}
{{ $json.tags.join(', ') }}
{{ $json.users.map(u => u.name) }}
{{ $json.items.filter(i => i.price > 100) }}
// Получить все items
const items = $input.all();
// Обработать и вернуть
return items.map(item => ({
json: transform(item.json)
}));
// Получить текущий item
const item = $input.item;
// Вернуть один item
return {
json: transform(item.json)
};