مستندات n8n
74+ نود
✏️

ویرایش فیلدها

Edit Fields (Set)

ویرایش فیلدهای داده: اضافه، حذف، تغییر نام و تبدیل

منطق و کنترل
مقدماتی
۰ بازدید
n8n 1.0+

نمای کلی

نود Edit Fields چیست؟

نود Edit Fields (جایگزین Set node قدیمی) ابزار اصلی تغییر ساختار داده در n8n است.

دو حالت اصلی:

  1. 1Manual Mapping: تعریف دستی فیلدها و مقادیر
  2. 2Using Fields from Input: انتخاب فیلدها از ورودی

قابلیت‌های کلیدی:

  • افزودن فیلد جدید: اضافه کردن فیلد با مقدار ثابت یا Expression
  • حذف فیلد: حذف فیلدهای غیرضروری
  • تغییر نام فیلد: Rename کردن کلیدها
  • تغییر نوع: تبدیل String به Number و بالعکس
  • فقط فیلدهای مشخص: حذف همه فیلدها به جز موارد انتخابی
  • Expression: محاسبات و تبدیلات روی داده

چرا Edit Fields مهم است؟

  • هر Workflow تقریباً به Edit Fields نیاز دارد
  • آماده‌سازی داده برای API (فقط فیلدهای لازم)
  • تبدیل ساختار داده بین سیستم‌های مختلف
  • اضافه کردن فیلدهای محاسباتی
  • پاکسازی و نرمال‌سازی داده

احراز هویت

بدون نیاز به احراز هویت - نود Edit Fields یک نود داخلی n8n است.

عملیات‌های موجود

1

تنظیم دستی فیلدها

تعریف دستی فیلدها با نام و مقدار. مقدار می‌تواند ثابت، Expression یا ترکیبی باشد.

2

انتخاب از ورودی

انتخاب فیلدهای خاص از ورودی. فیلدهای انتخاب‌نشده حذف می‌شوند.

3

حذف فیلدها

حذف فیلدهای مشخص از داده. بقیه فیلدها حفظ می‌شوند.

4

تغییر نام فیلدها

تغییر نام کلیدهای JSON. مناسب برای تطبیق API schemas مختلف.

5

تبدیل نوع داده

تبدیل نوع فیلد: String → Number، Number → String، String → Boolean و غیره.

6

ادغام فیلدها

ترکیب چندین فیلد در یک فیلد. مثال: firstName + lastName = fullName.

7

فیلد محاسباتی

ساخت فیلد با Expression. محاسبات ریاضی، تبدیل تاریخ و عملیات رشته‌ای.

8

Flatten/Unflatten

مسطح‌سازی اشیاء تودرتو یا ساخت ساختار تودرتو از فیلدهای مسطح.

کاربردهای متداول

موارد استفاده رایج

۱. آماده‌سازی داده API

دریافت داده از یک API > Edit Fields (فقط فیلدهای لازم) > ارسال به API دیگر.

۲. تبدیل ساختار داده

API خروجی: {first_name, last_name} > Edit Fields > {fullName, email} برای CRM.

۳. افزودن Timestamp

هر آیتم > Edit Fields: createdAt = now(), processedBy = "automation" > ذخیره.

۴. پاکسازی داده

داده خام > حذف فیلدهای خالی/null > حذف فیلدهای اضافی > داده تمیز.

۵. محاسبه قیمت

محصولات > Edit Fields: totalPrice = price * quantity, tax = totalPrice * 0.09 > فاکتور.

۶. نرمال‌سازی

داده‌های مختلف > Edit Fields: email = lowercase, phone = format, name = trim > ذخیره یکسان.

۷. Mapping بین سیستم‌ها

Shopify order > Edit Fields: rename fields > HubSpot deal format.

۸. فیلتر فیلدهای حساس

داده کامل > Edit Fields: حذف password, ssn, creditCard > لاگ امن.

۹. ساخت URL

پارامترها > Edit Fields: url = baseUrl + "/api/" + endpoint + "?key=" + apiKey.

۱۰. تبدیل Boolean

رشته "true"/"false" > Edit Fields: Convert to Boolean > استفاده در IF نود.

۱۱. Flatten JSON تودرتو

user.address.city > Edit Fields: Flatten > user_address_city (برای CSV/Spreadsheet).

۱۲. ساخت Payload

داده‌های مختلف > Edit Fields: ترکیب در ساختار JSON مورد نیاز API.

نکات حرفه‌ای

نکات و ترفندها

Expression مفید

  • ترکیب رشته: \\${firstName} \${lastName}\
  • عدد: Number(stringValue) یا parseInt(value)
  • تاریخ: new Date().toISOString()
  • شرطی: condition ? "yes" : "no"
  • Lowercase: value.toLowerCase()
  • Trim: value.trim()
  • Split: value.split(",")

Keep vs Remove

  • Keep Only Set Fields: فقط فیلدهای تعریف‌شده (پاکسازی)
  • Include Other Fields: فیلدهای تعریف‌شده + بقیه (اضافه کردن)

نکات Performance

  • فیلدهای غیرضروری را زودتر حذف کنید
  • Binary data بزرگ را قبل از Edit Fields فیلتر کنید
  • از Expression ساده استفاده کنید

الگوی Data Mapping

  1. 1دریافت داده از Source
  2. 2Edit Fields: تغییر نام + تبدیل نوع
  3. 3IF: فیلتر داده معتبر
  4. 4ارسال به Destination

Dot Notation

فیلدهای تودرتو:

  • user.name → نام کاربر
  • address.city → شهر
  • items[0].price → قیمت آیتم اول
  • metadata.tags → برچسب‌ها

ترکیب با سایر نودها

  • IF: شرط بر اساس فیلدها
  • Switch: مسیریابی بر اساس مقدار فیلد
  • Merge: ترکیب فیلدها از دو منبع
  • Code: تغییرات پیچیده
  • Aggregate: جمع‌بندی فیلدها

نکات Edit Fields v2

  • از Drag & Drop برای mapping فیلدها استفاده کنید
  • Expression Editor: تست Expression قبل از اجرا
  • Auto-mapping: فیلدهای ورودی خودکار پیشنهاد می‌شوند
  • Type safety: نوع داده بررسی می‌شود

جایگزین Set Node

Edit Fields جایگزین Set node قدیمی شده:

  • UI بهتر و کاربردی‌تر
  • Drag & Drop mapping
  • Type conversion داخلی
  • بهتر برای Workflow‌های پیچیده

رفع مشکلات

عیب‌یابی

۱. فیلدها ناپدید شدند

مشکل: فیلدهای ورودی در خروجی نیستند راه‌حل: "Include Other Input Fields" را فعال کنید. در حالت Manual Mapping فقط فیلدهای تعریف‌شده خروجی داده می‌شوند.

۲. Expression کار نمی‌کند

مشکل: Expression خطا می‌دهد یا undefined برمی‌گرداند راه‌حل: بررسی کنید فیلد ورودی وجود دارد. از Optional Chaining استفاده کنید. Expression را در Expression Editor تست کنید.

۳. نوع داده اشتباه

مشکل: عدد به جای رشته یا بالعکس راه‌حل: از Type Conversion استفاده کنید. Number("123") یا String(456). JSON.parse() برای JSON string.

۴. فیلد تودرتو دسترسی ندارد

مشکل: نمی‌توان به user.address.city دسترسی داشت راه‌حل: از dot notation در Expression استفاده کنید. یا ابتدا Flatten کنید.

۵. نام فیلد با فاصله

مشکل: فیلدهایی مثل "First Name" مشکل دارند راه‌حل: از bracket notation استفاده کنید. در Rename فاصله حذف کنید.

۶. داده null یا undefined

مشکل: فیلد مقدار ندارد راه‌حل: از default value استفاده کنید. شرط null check بنویسید.

۷. تعداد آیتم‌ها تغییر کرد

مشکل: آیتم‌ها بعد از Edit Fields کم یا زیاد شدند راه‌حل: Edit Fields تعداد آیتم‌ها را تغییر نمی‌دهد. مشکل احتمالاً در نود قبلی است.

۸. ترتیب فیلدها تغییر کرد

مشکل: ترتیب فیلدها در JSON خروجی فرق دارد راه‌حل: ترتیب کلیدهای JSON اهمیتی ندارد. اگر ترتیب مهم است، از Array استفاده کنید.

اشتراک‌گذاری:

آیا این مستندات مفید بود؟