N8N中文教程
使用 n8n/Key_concepts/Data/Data_mapping/Data_item_linking

项目链接概念#

节点生成的每个输出项都包含元数据,用于将其与该节点用来生成它的输入项(或多个输入项)进行关联。这形成了一条项目链,你可以沿此链回溯以访问之前的项目。这种机制可能较难理解,尤其是在节点对数据进行拆分或合并的情况下。当你在开发自己的程序化节点时,或者在某些使用“代码节点”(Code node)的场景中,需要理解项目链接的工作原理。 本文档对该功能提供一个概念性的概述。有关具体使用细节,请参考以下内容:

  • 节点开发者的项目链接,了解构建节点时如何处理项目链接。
  • 代码节点中的项目链接,学习如何在代码节点中处理项目链接。
  • 项目链接错误,帮助你理解在编辑器界面中可能遇到的错误。

n8n 的自动项目链接#

如果某个节点未显式控制输入项与输出项之间的链接方式,n8n 会尝试自动推断如何进行项目链接:

  • 单个输入、单个输出:输出项链接到该输入项。
  • 单个输入、多个输出:所有输出项均链接到该输入项。
  • 多个输入和输出:
    • 如果你保留了输入项,但改变了顺序(或删除了部分项而保留其余项),n8n 可以自动添加正确的关联项信息。
    • 如果输入项和输出项数量相等,n8n 将按顺序进行链接。这意味着输出-1 链接到输入-1,输出-2 链接到输入-2,依此类推。
    • 如果数量不相等,或者你创建了全新的项目,n8n 将无法自动建立项目间的链接。

如果 n8n 无法自动链接数据项,且节点本身未处理数据项的链接关系,n8n 将显示错误。更多信息请参考 数据项链接错误(Item linking errors)。

数据项链接示例#

一张图展示多条线程将多个数据项在工作流中反向链接 在此示例中,即使数据项的顺序发生了变化,n8n 仍可将一个节点中的数据项回溯链接到前面多个步骤。这意味着按字母顺序对电影进行排序的节点,仍然可以访问“获取著名电影演员”节点中对应链接数据项的信息。

访问已链接数据项的方法取决于你使用的是用户界面(UI)、表达式(expressions),还是代码节点(Code Node)。请查阅以下资源:

  • 在 UI 中进行数据映射(Mapping in the UI)
  • 在表达式编辑器中进行数据映射(Mapping in the expressions editor)
  • 代码节点中的数据项链接(Item linking in the Code node)
  • 数据项链接错误(Item linking errors)