跳至内容

项目链接错误#

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

A diagram showing the threads linking multiple items back through a workflow

不同项目的线程示意图。由于项目链接,您可以使用$('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不知道应该使用哪一个。要解决这个问题,你可以选择以下任一方式:

优云智算