Code 노드에서 아이템 연결 유지하기
이전 노드를 참조할 때는 어떤 항목을 사용할지 알아야 합니다. Code 노드를 사용할 때 워크플로우 후반부에서 $("<node-name>").item을 사용하려면 일부 시나리오에서 아이템 링킹 정보를 수동으로 제공해야 합니다.
이전 노드를 참조할 때는 어떤 항목을 사용할지 알아야 합니다. 이 문제는 아이템 링킹으로 해결됩니다. 대부분의 노드는 모든 출력 항목을 입력 항목에 자동으로 연결하여 이전 항목으로 거슬러 올라갈 수 있는 항목 체인을 만듭니다. 이 주제에 대한 심층적인 개념 개요는 아이템 링킹 개념을 참조하세요. 이 문서는 실용적인 사용 예시에 초점을 맞춥니다.
Code 노드를 사용할 때 워크플로우 후반부에서 $("<node-name>").item을 사용하려면 일부 시나리오에서 아이템 링킹 정보를 수동으로 제공해야 합니다. 이 시나리오들은 모두 들어오는 항목이 두 개 이상인 경우에만 해당됩니다. n8n은 단일 항목에 대한 아이템 링킹을 자동으로 처리합니다.
해당 시나리오는 다음과 같습니다:
- 새 항목 추가: 새 항목은 어떤 입력과도 연결되지 않습니다.
- 새 항목 반환.
- 아이템 링킹을 수동으로 제어하려는 경우.
n8n의 자동 아이템 링킹이 나머지 시나리오를 처리합니다.
아이템 링킹을 제어하려면 데이터를 반환할 때 pairedItem을 설정합니다. 예를 들어, 인덱스 0의 항목에 연결하려면:
[
{
"json": {
. . .
},
// 이 출력 항목을 생성한 입력 항목의 인덱스
"pairedItem": 0
}
]
pairedItem 사용 예시#
다음 입력 데이터를 사용합니다:
[
{
"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"
}
]
이를 사용하여 이름만 포함하는 새 항목과 새로운 데이터를 생성합니다:
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 객체를 추가합니다:
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;
이제 각 새 항목이 이를 생성하는 데 사용된 항목에 연결됩니다.
