> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/data-mapping/data-item-linking/item-linking-code-node.md).

# 在 Duaer 的 Code 节点里保留对应

在 Duaer 里，引用前面节点时，需要知道该用哪一项。大多数节点会自动链接；Code 节点在某些情况下要你自己写 pairedItem。
入站超过一项，并且你在新增项、返回全新对象、或要手动控制对应时，需要写 pairedItem。只有一项入站时，Duaer 会自动处理。

## pairedItem 用法示例 <a href="#paireditem-usage-example" id="paireditem-usage-example"></a>

按输入下标链回来源（下标从 0 开始）：

```
const 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;
```

## 一项拆成多项

一条客户拆成多张订单时，这些新项都写同一个输入下标：

```
const out = [];
for (let i = 0; i < items.length; i++) {
	for (const order of items[i].json.orders) {
		out.push({
			json: { orderId: order.id },
			pairedItem: i,
		});
	}
}
return out;
```

## 什么时候可以不写

入站只有一项时可省略。只在原项上改字段、仍一项对一项，且返回方式保留原有链接时，也可沿用自动对应。
## Questions

### 什么时候必须写 pairedItem？

在 Duaer 里，入站多项，且你返回新对象、改了项数、或要手动控制对应时。pairedItem 写来源输入的下标（从 0 起）；一项拆多项时共用同一下标。

### 什么时候可以不写？

在 Duaer 里，入站只有一项时可省略。只在原项上改字段、仍一项对一项且保留原有链接时，也可沿用自动对应。

