Expression-lar: dinamik dəyərlər
Expression — node parametrini sabit dəyərlə deyil, gələn datadan hesablanan dəyərlə doldurmaq üsuludur. Sintaksis ikiqat qıvrım mötərizədir: {{ ... }}. Mötərizənin içində JavaScript ifadəsi yazılır.
Ən çox işlədilən üç istinad:
{{ $json.field }}— cari item-in datası{{ $('Node adı').item.json.field }}— əvvəlki node-un əlaqəli item-i{{ $('Node adı').first().json.field }}— əvvəlki node-un ilk item-i
$json əslində $input.item.json üçün qısaltmadır. Adətən onu əl ilə yazmırsan: sol paneldəki INPUT bölməsindən sahəni sürükləyib parametrə buraxanda n8n expression-ı özü yazır.
| İfadə | Nə qaytarır | Code node-da işləyir? |
|---|---|---|
| `$json` | Cari item-in JSON datası | Bəli — "Run Once for Each Item" rejimində |
| `$input.item` / `$input.all()` | Cari item / bütün gələn item-lər | Bəli |
| `$('Node').item` | Həmin node-un cari item-lə əlaqəli item-i | Bəli (izləmə lazımdırsa `itemMatching()`) |
| `$('Node').first() / .last() / .all()` | Həmin node-un ilk / son / bütün item-ləri | Bəli |
| `$binary` | Cari item-in binary datası | Xeyr |
| `$now` / `$today` | Cari an / günün başlanğıcı (Luxon obyekti) | Bəli, amma bəzi n8n-ə xas metodlar fərqlənir |
| `$jmespath()`, `$if()` | Data çevirmə funksiyaları | Xeyr — yalnız expression redaktorunda |
Node adı expression-ın bir hissəsidir. $('HTTP Request') yazıb sonra node-un adını dəyişsən, expression sınır. Ona görə node-ları erkən, məntiqli adlandır — sonra ad dəyişmək hər istinadı əl ilə düzəltmək deməkdir.
Tarixlərlə iş Luxon kitabxanası üzərindən gedir. n8n tarixləri node-lar arasında mətn kimi ötürür, ona görə əməliyyat etməzdən əvvəl parse etmək lazımdır. $now və $today hazır Luxon obyektləridir.
Rəsmi tövsiyə: n8n-də adi JavaScript Date() yerinə Luxon DateTime işlətmək — çünki Date() workflow-a xas saat qurşağı parametri kimi bəzi n8n imkanları ilə düzgün işləmir.
Diqqət: expression redaktorunda mövcud olan hər şey Code node-da mövcud deyil. Code node adi Node.js işlədir, n8n-in expression mühərriki yox. $if() və $jmespath() kimi köməkçi funksiyalar Code node-da yoxdur; bəzi Luxon metodlarının isə imzası fərqlidir.
📚 Mənbələr və sənədlər
- Əvvəlki node-lara istinadrəsmidocs.n8n.io
Yuxarıdakı cədvəlin — hansı metodun Code node-da işlədiyi daxil — rəsmi mənbəyi.
- Hazır metod və dəyişənlərrəsmidocs.n8n.io
- Tarix və vaxtla işrəsmidocs.n8n.io
Luxon, `$now`, `$today` və saat qurşağı davranışı.