발행일: 2026-08-04(화) 03:14
도서하루 30분 n8n ①DAY 10
챕터 2 — 핵심 노드 마스터난이도 ★★★
DAY 10

Code 노드 : 노코드의 한계를 넘을 때

📥 DAY 10 워크플로우 JSON 다운로드
이론10
실습15
미션5

"모든 사람이 컴퓨터 프로그래밍을 배워야 한다. 그것이 생각하는 법을 가르쳐주기 때문이다."

스티브 잡스 (Steve Jobs, Apple 공동 창업자)
🎯 오늘의 학습 목표
  • Code 노드의 두 가지 실행 모드(Each Item / All Items)를 구분할 수 있다
  • 문자열 가공 메서드(.trim, .toUpperCase, .includes 등)를 사용할 수 있다
  • .filter()와 .map()으로 배열 데이터를 처리할 수 있다
모드 선택 기준
text
// Run Once for Each Item (항목마다 개별 처리)
→ 각 아이템을 개별 가공할 때 사용
→ $json 으로 현재 항목에 접근
→ return { json: { ... } }

// Run Once for All Items (모든 항목을 한 번에 처리)
→ 여러 항목을 비교·필터링·집계할 때 사용
→ $input.all() 으로 전체 데이터에 접근
→ return [{ json: { ... } }, ...]
Each Item 모드에서 자주 쓰는 메서드
javascript
// 앞뒤 공백 제거
"  홍길동  ".trim()          →  "홍길동"

// 대소문자 변환
"hello".toUpperCase()        →  "HELLO"
"HELLO".toLowerCase()        →  "hello"

// 특정 단어 포함 여부
"SALE상품".includes("SALE")  →  true

// 텍스트 교체
"홍길동".replace("길동", "**")  →  "홍**"
All Items 모드에서 자주 쓰는 메서드
javascript
// 조건에 맞는 항목만 남기기
배열.filter(item => item.재고 > 0)

// 모든 항목 변환하기
배열.map(item => ({ json: { 상품명: item.이름 } }))

// 두 가지 조합
배열
  .filter(p => p.재고 > 0)
  .map(p => ({ json: { 상품명: p.이름, 상태: "판매중" } }))
⚠️ return { json: … } 형식을 빠뜨리면 에러가 나요. All Items 모드에서는 반드시 배열 []로 반환해야 해요.
💡 입문자에게는 JavaScript를 강력 추천해요. n8n의 표현식과 문법이 완전히 같아서 DAY 6~7에서 배운 내용을 그대로 활용할 수 있어요!
🛠️ 실습
실습 ①텍스트 가공 — Each Item 모드
  1. 새 워크플로우 'DAY10 Code 노드 실습' 생성
  2. Manual Trigger → Edit Fields(상품명: 'summer sale', 태그: 'SALE·신상') → Code 노드 연결
  3. Code 노드 모드: Run Once for Each Item
  4. 아래 코드 입력 후 실행
Code 노드 입력 코드 (Each Item)
javascript
const { 상품명, 태그 } = $json;

return { json: {
  상품명_대문자: 상품명.toUpperCase(),
  태그_소문자: 태그.toLowerCase(),
  sale포함: 태그.includes("SALE")
}};
실습 ②배열 필터링 — All Items 모드
  1. 새 Code 노드 추가 (별도 워크플로우 또는 이어서)
  2. 모드: Run Once for All Items
  3. 아래 코드 입력 후 실행
  4. 재고 > 0인 항목만 출력되는지 확인
Code 노드 입력 코드 (All Items)
javascript
const list = [
  { 이름: "아메리카노", 가격: 3500, 재고: 15 },
  { 이름: "카페라떼",   가격: 4500, 재고: 0  },
  { 이름: "녹차케이크", 가격: 5500, 재고: 8  }
];

return list
  .filter(p => p.재고 > 0)
  .map(p => ({ json: { 상품명: p.이름, 가격: p.가격, 상태: "판매중" } }));
🚀 오늘의 미션
  1. Code 노드(All Items 모드)로 오늘 날짜를 한국식으로 출력하는 워크플로우를 만들어보세요
📋 워크플로우 임포트 방법
  1. 위 버튼으로 JSON 파일을 다운로드합니다.
  2. n8n 캔버스 오른쪽 상단 Import from file 클릭
  3. 다운로드한 JSON 파일을 선택하면 워크플로우가 즉시 열립니다.
  4. 빨간 느낌표(!)가 보이면 Credentials을 본인 계정으로 재연결하세요.
💡 먼저 직접 만들어보고, 막혔을 때 정답지로만 활용하세요!
n8n 계정이 없으신가요?n8n 무료 시작하기 ↗
← DAY 09
HTTP Request 노드 : 인터넷과 대화하기
목차로DAY 11
Credentials(자격증명) 완전 정복