표현식(Expressions)과 데이터 노드

표현식(Expressions)과 데이터 노드

n8n은 데이터를 다루고 변환하는 여러 방법을 제공해요. 각 접근 방식을 언제 써야 하는지 이해하면 효율적인 워크플로를 만들 수 있어요.

접근 방식 이런 상황에서 사용 예시 사용 가능 환경
표현식(Expressions) 기존 데이터로 단일 파라미터 값을 설정 {{$json.city}} 값 가져오기, 날짜 포맷, 간단한 계산 Cloud 및 Self-hosted
Code 노드 복잡한 변환을 위한 전체 JavaScript/Python 작성 데이터 구조 변경, 항목 반복, 외부 라이브러리 사용 Cloud 및 Self-hosted
AI Transform 노드 자연어로 변환 코드 생성 사용자로 그룹화하고 합계 구하기, 감성별로 분류하기 Cloud 전용
기타 데이터 변환 노드 시각적 인터페이스로 일반적인 작업 수행 항목 집계, 배열 분리, 데이터 정렬, 중복 제거 Cloud 및 Self-hosted

표현식

표현식은 n8n의 {{ ... }} 문법을 사용해서 노드 파라미터 안에 직접 넣는 작은 JavaScript 형태의 코드 조각이에요. 이전 노드의 데이터, 워크플로 메타데이터, 환경 변수를 사용해서 파라미터 값을 동적으로 설정할 수 있어요.

{% hint style="info" %} 가능하면 표현식을 사용하세요

표현식은 계산된 값의 즉시 미리보기(immediate preview)를 제공한다는 장점이 있어요. 가능하면 표현식을 쓰는 것이 좋아요. {% endhint %}

표현식을 사용할 때:

  • 이전 노드 데이터에서 값을 가져올 때. 예를 들어 {{$json.body.city}}.
  • 필드 안에서 가벼운 변환이나 계산을 바로 수행할 때.
  • 불필요한 노드를 추가하지 않고, 설정 중인 파라미터 가까이에 로직을 두고 싶을 때.

Code 노드

Code 노드는 워크플로 단계로 실행되는 JavaScript나 Python을 작성하는 전용 노드예요. 이전 노드에서 들어온 데이터에 접근해서 항목을 추가·제거·수정하며 조작할 수 있어요. 필요에 따라 커스텀 함수를 만들고 $ 문법을 통해 n8n의 내장 메서드와 변수를 사용할 수 있어요.

Code 노드를 사용할 때:

  • 표현식으로는 충분하지 않은 더 복잡한 로직이나 데이터 변환이 필요할 때. 예를 들어 배열과 객체를 재구성하거나, 항목을 집계·분리하거나, 커스텀 알고리즘이 필요한 경우.
  • 많은 항목을 한 번에 변환하고 싶을 때.
  • 프로미스(promises), console.log, 또는 self-hosted 환경에서는 외부 npm 모듈을 쓰고 싶을 때.

AI Transform 노드

이 노드는 짧은 자연어 프롬프트를 기반으로 코드 조각을 생성해요. 워크플로의 노드와 데이터 타입을 이해하는 컨텍스트를 알고 있어요. 생성된 코드는 노드 안에서 읽기 전용이라서, 편집하려면 Code 노드로 복사해야 해요.

AI Transform 노드를 사용할 때:

  • 원하는 변환이 뭔지는 알지만 코드를 직접 작성하고 싶지 않을 때.
  • AI가 변환 로직을 초안으로 만들어 주고, 그걸 노드 안에서 바로 실행하거나 추가 커스터마이징을 위해 Code 노드로 복사하고 싶을 때.

기타 데이터 변환 노드

n8n은 데이터를 변환하는 여러 노드를 제공해요.

  • Aggregate: 분리된 항목 또는 그 일부를 가져와 개별 항목으로 묶어요.
  • Limit: 정의된 최대 수를 초과하는 항목을 제거해요.
  • Remove Duplicates: 모든 필드 또는 일부 필드에서 동일한 항목을 식별해서 삭제해요.
  • Sort: 목록을 원하는 순서로 정리하거나, 무작위 선택을 생성해요.
  • Split Out: 목록을 담고 있는 단일 데이터 항목을 여러 항목으로 분리해요.
  • Summarize: Excel 피벗 테이블처럼 항목들을 함께 집계해요.

데이터 변환 노드를 사용할 때:

  • 필요한 작업이 특정 변환 노드의 목적과 정확히 일치할 때.
  • 안내된 UI를 가진 no-code 솔루션을 원할 때.
  • 표현식이나 코드를 쓰는 것보다 시각적인 워크플로 구성을 선호할 때.

데이터를 참조·변환·구조화하는 다른 방법은 데이터 다루기(Work with data)를 참고하세요.