콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

코드 노드에서의 아이템 링크#

n8n의 항목 연결(item linking)을 사용하면 현재 항목보다 앞에 있는 항목의 데이터를 참조할 수 있습니다. 이는 코드(Code) 노드를 사용할 때도 중요한 역할을 합니다. 대부분의 노드는 출력 항목을 입력 항목과 연결하며, 이를 통해 이전 항목을 역추적할 수 있습니다. 이 개념에 대한 자세한 설명은 항목 연결 개념 문서를 참고하세요. 본 문서는 실전 활용 예제에 초점을 맞추고 있습니다.

코드 노드에서 항목 연결이 필요한 경우#

코드 노드를 사용할 때, 워크플로에서 $("노드-이름").item을 활용하려면 직접 항목 연결 정보를 제공해야 하는 경우가 있습니다. 이러한 상황은 여러 개의 입력 항목이 존재할 때만 해당되며, 단일 항목의 경우 n8n이 자동으로 연결을 처리합니다.

다음과 같은 경우 수동으로 항목 연결을 설정해야 합니다.

  • 새 항목을 추가할 때: 새 항목은 어떤 입력 항목에도 연결되지 않습니다.
  • 새로운 항목을 반환할 때.
  • 항목 연결을 수동으로 관리하고 싶을 때.

n8n의 자동 항목 연결은 그 외의 경우 자동으로 처리됩니다.

pairedItem 설정 방법#

항목을 반환할 때 pairedItem을 설정하여 항목 연결을 제어할 수 있습니다. 예를 들어, 인덱스 0의 항목과 연결하려면 다음과 같이 설정합니다.

1
2
3
4
5
6
7
8
9
[
	{
		"json": {
			. . .
		},
		// The index of the input item that generated this output item
		"pairedItem": 0
	}
]

pairedItem 사용 예제#

다음과 같은 입력 데이터를 가정합니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
[
	{
		"id": "23423532",
		"name": "Jay Gatsby"
	},
	{
		"id": "23423533",
		"name": "José Arcadio Buendía"
	},
	{
		"id": "23423534",
		"name": "Max Sendak"
	},
	{
		"id": "23423535",
		"name": "Zaphod Beeblebrox"
	},
	{
		"id": "23423536",
		"name": "Edmund Pevensie"
	}
]

이 데이터를 사용하여 새 항목을 생성하고, 이름과 추가 데이터를 포함하도록 합니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
newItems = [];
for (let i = 0; i < items.length; i++) {
	newItems.push({
		json: {
			name: items[i].json.name,
			aBrandNewField: "New data for item " + i,
		},
	});
}

return newItems;

이렇게 생성된 newItems 배열에는 pairedItem이 설정되지 않았기 때문에, 새 항목이 어떤 입력 항목에서 생성되었는지 추적할 수 없습니다.

pairedItem 객체를 추가하면 다음과 같이 수정할 수 있습니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
newItems = [];
for (let i = 0; i < items.length; i++) {
	newItems.push({
		json: {
			name: items[i].json.name,
			aBrandNewField: "New data for item " + i,
		},
		pairedItem: i,
	});
}
return newItems;

이제 각 새 항목은 해당 항목을 생성한 입력 항목과 연결됩니다.

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!