跳转至

Code 节点中的项目链接#

使用 n8n 的项目链接来访问当前项目之前的项目数据。它在使用 Code 节点时也有影响。大多数节点都会将每个输出项目链接到输入项目。这会创建一个项目链,您可以沿着这个链向回访问以前的项目。有关此主题的更深入概念概述,请参阅项目链接概念。本文档重点介绍实际使用示例。

在使用 Code 节点时,如果您希望能够在工作流中稍后使用 $("<node-name>").item,则在某些情况下需要手动提供项目链接信息。所有这些情况仅在您有多个传入项目时适用。n8n 自动处理单个项目的项目链接。

这些情况包括:

  • 添加新项目:新项目未链接到任何输入。
  • 返回新项目。
  • 想要手动控制项目链接。

n8n 的自动项目链接处理其他情况。

要控制项目链接,请在返回数据时设置 pairedItem。例如,要链接到索引 0 处的项目:

1
2
3
4
5
6
7
8
9
[
	{
		"json": {
			. . . 
		},
		// 生成此输出项目的输入项目的索引
		"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
12
13
14
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
12
13
14
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;

现在每个新项目都链接到用于创建它的项目。

此页面是否
💬 微信

🚀 与作者交流

关注公众号
n8n实战笔记公众号
n8n实战笔记
📚 教程 💡 案例 🔧 技巧
添加微信
添加作者微信
1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持