Skip to content

项目链接错误#

在 n8n 中,您可以引用来自任何先前节点的数据。这不必是紧邻的前一个节点:可以是工作流链中的任何先前节点。当引用更早的节点时,您需要使用表达式语法 $(node_name).item

显示通过工作流将多个项目链接回线程的示意图

不同项目的线程图示。由于项目链接的存在,您可以使用 $('Get famous movie actors').item 获取每部电影的演员信息。

由于前一个节点可能包含多个项目,n8n 需要知道使用哪一个。当使用 .item 时,n8n 会在后台自动处理这个问题。关于其工作原理的详细信息,请参阅项目链接概念

当信息缺失时,.item 会失败。为了确定使用哪个项目,n8n 会为每个项目维护一个贯穿工作流节点的线程。对于给定的项目,这个线程告诉 n8n 是先前哪些节点生成了它。为了在给定的先前节点中找到匹配的项目,n8n 会沿着这个线程回溯,直到到达目标节点。

当使用 .item 时,n8n 会在以下情况下显示错误:

  • 线程中断
  • 线程指向先前节点中的多个项目(因为不清楚应该使用哪一个)

要解决这些错误,您可以避免使用 .item,或者修复根本原因。

您可以通过使用 .first().last().all()[index] 来避免 .item。这些方法要求您知道目标项目在目标节点输出项目中的位置。关于这些方法的更多细节,请参阅内置方法和变量 | 其他节点的输出

修复根本原因的具体方法取决于确切的错误类型。

修复"表达式缺少前一节点信息"错误#

当您看到以下错误信息时:

错误:表达式中缺少前一节点信息

表示节点链中有一个节点没有返回配对信息。解决方案取决于前一节点的类型:

  • 代码节点:确保返回节点用于生成每个输出项的输入项。详情请参考代码节点中的项链接
  • 自定义或社区节点:节点创建者需要更新节点以返回它用于生成每个输出项的输入项。详情请参考节点创建者的项链接

修复"表达式存在多个匹配项"错误#

错误信息如下:

错误:表达式存在多个匹配项

有时n8n会使用多个项来创建单个项。例如Summarize(汇总)、Aggregate(聚合)和Merge(合并)节点。这些节点可以组合来自多个项的信息。

当您使用.item且存在多个可能匹配项时,n8n不知道应该使用哪一个。解决方法如下: