跳转至

项目链接错误#

在 n8n 中,您可以引用任何先前节点的数据。这不一定是前一个节点:它可以是链中的任何先前节点。当引用更远的节点时,您使用表达式语法 $(node_name).item

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

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

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

如果缺少信息,.item 会失败。为了确定使用哪个项目,n8n 为每个项目维护一个通过工作流节点的线程。对于给定项目,此线程告诉 n8n 先前节点中的哪些项目生成了它。为了在给定的先前节点中找到匹配的项目,n8n 沿着此线程向后跟踪,直到达到相关节点。

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

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

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

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

根本原因的修复取决于确切的错误。

修复"来自先前节点的表达式信息缺失"#

如果您看到此错误消息:

ERROR: Info for expression missing from previous node

链中有一个节点不返回配对信息。这里的解决方案取决于先前节点的类型:

  • Code 节点:确保您返回节点用于产生每个输出项目的输入项目。有关更多信息,请参阅Code 节点中的项目链接
  • 自定义或社区节点:节点创建者需要更新节点以返回它用于产生每个输出项目的输入项目。有关更多信息,请参阅节点创建者的项目链接

修复"表达式的多个匹配项目"#

这是错误消息:

ERROR: Multiple matching items for expression

有时 n8n 使用多个项目来创建单个项目。示例包括 Summarize、Aggregate 和 Merge 节点。这些节点可以结合来自多个项目的信息。

当您使用 .item 并且有多个可能的匹配时,n8n 不知道使用哪一个。要解决此问题,您可以:

此页面是否
💬 微信

🚀 与作者交流

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