n8n 中的循环#
当您想要处理多个项目或重复执行某个操作时,循环非常有用,比如向通讯录中的每个联系人发送消息。n8n 会自动处理这种重复处理,这意味着您不需要专门在工作流中构建循环。有一些节点不是这样的。
在 n8n 中使用循环#
n8n 节点接受任意数量的项目作为输入,处理这些项目,并输出结果。您可以将每个项目视为单个数据点,或节点输出表中的单行。
节点通常为每个项目运行一次。例如,如果您想将 Customer Datastore 节点中客户的姓名和备注作为消息发送到 Slack,您需要:
- 将 Slack 节点连接到 Customer Datastore 节点。
- 配置参数。
- 执行节点。
您将收到五条消息:每个项目一条。
这就是您可以处理多个项目而无需显式地将节点连接成循环的方式。
执行节点一次#
对于不希望节点处理所有接收到的项目的情况,例如只向第一个客户发送 Slack 消息,您可以通过切换该节点设置选项卡中的执行一次参数来实现。当传入数据包含多个项目而您只想处理第一个项目时,此设置很有用。
创建循环#
n8n 通常处理所有传入项目的迭代。但是,在某些情况下,您需要创建循环来遍历所有项目。请参阅节点例外了解不会自动遍历所有传入项目的节点列表。
循环直到满足条件#
要在 n8n 工作流中创建循环,请将一个节点的输出连接到前一个节点的输入。添加一个 IF 节点来检查何时停止循环。
这是一个使用 IF
节点实现循环的示例工作流:
循环直到处理完所有项目#
当您想要循环直到处理完所有项目时,请使用 Loop Over Items 节点。要单独处理每个项目,请将批处理大小设置为 1
。
您可以将数据分组批处理并处理这些批次。这种方法对于在处理大量传入数据时避免 API 速率限制或当您想要处理特定组返回项目时很有用。
Loop Over Items 节点在所有传入项目被分成批次并传递给工作流中的下一个节点后停止执行,因此不需要添加 IF 节点来停止循环。
节点例外#
需要在工作流中设计循环的节点和操作:
- CrateDB 对于
insert
和update
操作只执行一次。 - Code 节点在对所有项目运行一次模式下:基于输入的代码片段处理所有项目。
- Execute Workflow 节点在对所有项目运行一次模式下。
- HTTP Request:您必须自己处理分页。如果您的 API 调用返回分页结果,您必须创建循环来一次获取一页。
- Microsoft SQL 对于
insert
、update
和delete
操作只执行一次。 - MongoDB 对于
insert
和update
操作只执行一次。 - QuestDB 对于
insert
操作只执行一次。 - Redis:
- Info:无论传入数据中有多少项目,此操作都只执行一次。
- RSS Read 对于请求的 URL 只执行一次。
- TimescaleDB 对于
insert
和update
操作只执行一次。
此页面是否
微信
🚀 与作者交流
关注公众号

n8n实战笔记
📚 教程 💡 案例 🔧 技巧
📚 教程 💡 案例 🔧 技巧
添加微信

1对1 专业指导
⚡ 快答 🎯 定制 🚀 支持
⚡ 快答 🎯 定制 🚀 支持