Expressions ও Data Mapping

লেসন ৭ / ২৫

Expression কী?

Expression হলো n8n-এর টেমপ্লেট ভাষা — আগের node-এর ডেটা ব্যবহার করতে {{ }} ব্যবহার করা হয়।

আগের node-এর ডেটা access করা

{{ $json.name }}              → বর্তমান item-এর name field
{{ $json.address.city }}      → nested object
{{ $json.items[0].price }}    → array-এর প্রথম item
{{ $node["Gmail"].json.subject }}  → নির্দিষ্ট node-এর ডেটা

Built-in Variables

{{ $now }}              → বর্তমান সময় (ISO format)
{{ $today }}            → আজকের তারিখ
{{ $workflow.id }}      → workflow-এর ID
{{ $workflow.name }}    → workflow-এর নাম
{{ $execution.id }}     → execution ID
{{ $itemIndex }}        → বর্তমান item-এর index (loop-এ)

String Manipulation

{{ $json.name.toUpperCase() }}
{{ $json.name.toLowerCase() }}
{{ $json.name.trim() }}
{{ $json.email.split("@")[0] }}  → username part
{{ `হ্যালো, ${$json.name}!` }}   → template literal
{{ $json.name.includes("করিম") }} → true/false

Number ও Date

{{ $json.price * 1.15 }}          → ১৫% বাড়ানো
{{ Math.round($json.score) }}     → পূর্ণ সংখ্যা
{{ new Date($json.date).toLocaleDateString("bn-BD") }}
{{ DateTime.now().toFormat("dd/MM/yyyy") }}

Conditional Expression

{{ $json.score >= 50 ? "পাস" : "ফেল" }}
{{ $json.name || "অজ্ঞাত" }}   → null হলে default

Array Methods

{{ $json.items.length }}
{{ $json.items.filter(i => i.price > 100) }}
{{ $json.items.map(i => i.name).join(", ") }}
{{ $json.tags.includes("urgent") }}