项目链接错误#
在 n8n 中,您可以引用任何先前节点的数据。这不必是紧邻的前一个节点:可以是工作流中任意先前的节点。当引用更早的节点时,需使用表达式语法 $(节点名称).item。

不同项目的线程示意图。通过项目链接,您可以使用 $('获取著名电影演员').item 获取每部电影的演员信息。
由于前序节点可能包含多个项目,n8n 需要确定使用哪一个。当使用 .item 时,n8n 会在后台自动处理匹配逻辑。具体工作原理请参阅项目链接概念。
当信息缺失时,.item 会执行失败。为了确定使用哪个项目,n8n 会为每个项目维护一条贯穿工作流节点的反向线程。对于给定项目,该线程能告知 n8n 前序节点中的哪些项目生成了当前项目。为了在指定前序节点中找到匹配项,n8n 会沿该线程反向追溯直至目标节点。
在以下情况下使用 .item 会触发错误:
- 线程链断裂
- 线程指向前序节点中存在多个匹配项(无法确定使用哪一个)
解决这些错误的方法包括:避免使用 .item,或修复根本原因。
可通过 .first()、.last() 或 .all()[index] 替代 .item。这些方法需要您明确目标节点输出项目中目标项的位置。具体用法请参阅内置方法和变量 | 其他节点输出。
根本原因的修复方案取决于具体错误类型。
修复“表达式缺少前序节点信息”错误#
若出现以下错误提示:
错误:表达式缺少前序节点信息
说明工作流链中存在未返回配对信息的节点。解决方案根据前序节点类型有所不同:
- 代码节点:请确保返回节点用于生成每个输出项的输入项信息。具体请参阅代码节点中的项目链接
- 自定义或社区节点:需要节点开发者更新节点以返回用于生成输出项的输入项信息。具体请参阅节点开发者的项目链接
修复“表达式存在多个匹配项”错误#
错误提示如下:
错误:表达式存在多个匹配项
有时 n8n 会使用多个项目来创建单个项目(例如汇总节点、聚合节点和合并节点),这类节点会合并多个项目的信息。
当使用 .item 且存在多个匹配项时,n8n 无法确定使用哪一个。解决方案包括:
- 使用
.first()、.last()或.all()[index]替代。具体用法请参阅内置方法和变量 | 其他节点输出 - 引用包含相同信息但不存在多个匹配项的其他节点