D: 🚀 n8n의 핵심 노드 중 하나인 Set Node를 완벽히 이해하고 활용하는 방법을 10가지 실전 예제와 함께 상세히 알아보겠습니다! 워크플로우에서 데이터를 자유자재로 가공하고 싶다면 이 가이드를 놓치지 마세요. ✨
1. Set Node란 무엇인가?
🔍 기본 개념:
Set Node는 n8n 워크플로우에서 데이터를 생성/수정/삭제할 수 있는 스위스 군용 칼 같은 노드입니다. JSON 데이터를 실시간으로 변형할 때 특히 유용합니다.
📌 주요 기능:
- 새 필드 추가 ✨
- 기존 필드 값 변경 🔄
- 필드 삭제 🗑️
- 중첩된 객체 처리 🧅
- JavaScript 표현식 사용 💻
2. 기본 사용법 (초보자를 위한 3분 완성)
// 입력 데이터 예시
{
"name": "John",
"age": 30
}
예제 1. 단순 필드 추가
- Operation: Add
- Name: “country”
- Value: “Korea”
✅ 결과:{ "name": "John", "age": 30, "country": "Korea" }
3. 실전 예제 10선 (난이도 순)
🥉 초급: 기본 데이터 조작
예제 2. 날짜 포맷팅
- 현재 날짜를 “YYYY-MM-DD” 형식으로 추가
// Value에 JavaScript 사용 new Date().toISOString().split('T')[0]
예제 3. 조건부 필드 추가
- age가 20 이상일 경우 “adult”: true 추가
// Value 표현식 age >= 20 ? true : false
🥈 중급: 복합 연산
예제 4. 객체 병합
// 두 객체 합치기
{
"user": { "name": "John" },
"meta": { "registered": true }
}
예제 5. 배열 요소 가공
- products 배열의 각 가격에 10% 할인 적용
products.map(p => ({...p, price: p.price*0.9}))
🏅 고급: JSON 전문가
예제 6. 동적 필드명 생성
// 현재 월을 필드명으로 사용
`data_${new Date().getMonth()+1}`
예제 7. 깊은 중첩 객체 수정
// user.contact.phone → user.mobile 변경
{
"operation": "set",
"value": "=user.contact.phone",
"dotNotation": true
}
4. 전문가 팁 💡
-
Dot Notation을 사용하면 복잡한 JSON 경로를 쉽게 지정할 수 있습니다.
user.address.city → "=user.address.city"
-
JavaScript 모드를 활성화하면 더 강력한 표현식 사용이 가능합니다.
={{ $json["user"]["age"] > 20 ? "성인" : "미성년자" }}
-
디버깅 시에는 항상 “Include Input” 옵션을 켜두세요!
5. 주의사항 ⚠️
- 순서 문제: Set Node는 위에서 아래로 순차 실행됩니다.
- 성능: 대량 데이터 처리 시 “Overwrite” 모드보다 “Add” 모드가 빠릅니다.
- 에러 처리: 존재하지 않는 필드를 참조하면 워크플로우가 중단될 수 있습니다.
6. 마무리
n8n의 Set Node는 데이터 가공의 모든 것을 가능하게 합니다. 이 10가지 예제를 연습하면 워크플로우 효율성이 200% 향상될 거예요! 🎯
💬 궁금한 점이 있으면 댓글로 남겨주세요. 다음 시간에는 Function Node 심화 사용법으로 찾아뵙겠습니다!
> 📌 부가 학습 자료:
> – n8n 공식 문서
> – JSONPath 연습 사이트 추천
> – 실습용 샘플 워크플로우 다운로드 링크