이전 노드 참조하기
n8n v2.29n8n에서 데이터를 다룰 때는 워크플로 내 현재 노드나 이전 노드의 정보를 참조해야 하는 경우가 많습니다. 데이터에 접근할 때 가장 자주 사용하는 방법은 다음과 같습니다: 다음 방법은 표현식과 Code node 양쪽에서 모두 사용할 수 있습니다:
n8n에서 데이터를 다룰 때는 워크플로 내 현재 노드나 이전 노드의 정보를 참조해야 하는 경우가 많습니다.
자주 사용하는 참조 방법#
데이터에 접근할 때 가장 자주 사용하는 방법은 다음과 같습니다:
$json: 현재 입력 아이템의 JSON 데이터에 접근합니다$('<node-name>').item.json: 이전 노드의 연결된 아이템에 있는 JSON 데이터에 접근합니다
그 외 참조 방법#
다음 방법은 표현식과 Code node 양쪽에서 모두 사용할 수 있습니다:
| 방법 | 설명 |
|---|---|
$binary |
현재 입력 아이템의 바이너리 데이터에 접근합니다 |
$input.item |
현재 처리 중인 입력 아이템입니다 |
$('<node-name>').first() |
지정한 노드의 첫 번째 아이템을 가져옵니다 |
$('<node-name>').last() |
지정한 노드의 마지막 아이템을 가져옵니다 |
$('<node-name>').all() |
지정한 노드의 모든 아이템을 가져옵니다 |
현재 노드 입력#
현재 노드의 입력을 다루는 방법입니다. 일부 방법과 변수는 Code node에서 사용할 수 없습니다.
Python 지원
Code node에서는 Python을 사용할 수 있습니다. 표현식에서는 사용할 수 없습니다.
JavaScript
| 방법 | 설명 | Code node에서 사용 가능? |
|---|---|---|
$binary |
$input.item.binary의 축약형입니다. 노드로 들어오는 바이너리 데이터입니다 |
❌ |
$input.item |
현재 처리 중인 현재 노드의 입력 아이템입니다. 페어링된 아이템과 아이템 연결에 대한 자세한 내용은 아이템 연결을 참고하세요. | ✅ |
$input.all() |
현재 노드의 모든 입력 아이템입니다. | ✅ |
$input.first() |
현재 노드의 첫 번째 입력 아이템입니다. | ✅ |
$input.last() |
현재 노드의 마지막 입력 아이템입니다. | ✅ |
$input.params |
이전 노드의 쿼리 설정을 담은 객체입니다. 노드가 실행한 작업, 결과 제한 등의 데이터가 포함됩니다. | ✅ |
$json |
$input.item.json의 축약형입니다. 노드로 들어오는 JSON 데이터입니다. 아이템 구조에 대한 자세한 내용은 데이터 구조를 참고하세요. |
✅ (아이템마다 한 번씩 실행하는 경우) |
$input.context.noItemsLeft |
불리언 값입니다. Loop Over Items node를 사용할 때만 사용할 수 있습니다. 노드에서 일어나고 있는 작업에 대한 정보를 제공합니다. 노드가 아이템을 계속 처리 중인지 판단할 때 사용합니다. | ✅ |
Python
| 방법 | 설명 |
|---|---|
_input.item |
현재 처리 중인 현재 노드의 입력 아이템입니다. 페어링된 아이템과 아이템 연결에 대한 자세한 내용은 아이템 연결을 참고하세요. |
_input.all() |
현재 노드의 모든 입력 아이템입니다. |
_input.first() |
현재 노드의 첫 번째 입력 아이템입니다. |
_input.last() |
현재 노드의 마지막 입력 아이템입니다. |
_input.params |
이전 노드의 쿼리 설정을 담은 객체입니다. 노드가 실행한 작업, 결과 제한 등의 데이터가 포함됩니다. |
_json |
_input.item.json의 축약형입니다. 노드로 들어오는 JSON 데이터입니다. 아이템 구조에 대한 자세한 내용은 데이터 구조를 참고하세요. 모드를 Run Once for Each Item으로 설정했을 때 사용할 수 있습니다. |
_input.context.noItemsLeft |
불리언 값입니다. Loop Over Items node를 사용할 때만 사용할 수 있습니다. 노드에서 일어나고 있는 작업에 대한 정보를 제공합니다. 노드가 아이템을 계속 처리 중인지 판단할 때 사용합니다. |
다른 노드의 출력#
다른 노드의 출력을 다루는 방법입니다. 일부 방법과 변수는 Code node에서 사용할 수 없습니다.
JavaScript
| 방법 | 설명 | Code node에서 사용 가능? |
|---|---|---|
$("<node-name>").all(branchIndex?, runIndex?) |
지정한 노드의 모든 아이템을 반환합니다. branchIndex를 지정하지 않으면 node-name을 표현식이나 코드를 사용하는 노드와 연결하는 출력이 기본값으로 사용됩니다. |
✅ |
$("<node-name>").first(branchIndex?, runIndex?) |
지정한 노드가 출력한 첫 번째 아이템입니다. branchIndex를 지정하지 않으면 node-name을 표현식이나 코드를 사용하는 노드와 연결하는 출력이 기본값으로 사용됩니다. |
✅ |
$("<node-name>").last(branchIndex?, runIndex?) |
지정한 노드가 출력한 마지막 아이템입니다. branchIndex를 지정하지 않으면 node-name을 표현식이나 코드를 사용하는 노드와 연결하는 출력이 기본값으로 사용됩니다. |
✅ |
$("<node-name>").item |
연결된 아이템입니다. 현재 아이템을 생성하는 데 사용된 지정 노드의 아이템입니다. 아이템 연결에 대한 자세한 내용은 아이템 연결을 참고하세요. | ✅ |
$("<node-name>").params |
지정한 노드의 쿼리 설정을 담은 객체입니다. 노드가 실행한 작업, 결과 제한 등의 데이터가 포함됩니다. | ✅ |
$("<node-name>").context |
불리언 값입니다. Loop Over Items node를 사용할 때만 사용할 수 있습니다. 노드에서 일어나고 있는 작업에 대한 정보를 제공합니다. 노드가 아이템을 계속 처리 중인지 판단할 때 사용합니다. | ✅ |
$("<node-name>").itemMatching(currentNodeInputIndex) |
입력 아이템으로부터 역추적해야 하는 경우 Code node에서 $("<node-name>").item 대신 사용합니다. |
✅ |