在n8n工作流搭建过程中,难免经常需要根据数据特征进行精准筛选。站长百科将详细讲解如何通过n8n的条件逻辑节点实现数据筛选,利用If节点结合表达式完成”按状态分流数据”的典型场景。
一、条件逻辑与节点区别
1、什么是条件逻辑?
简单理解就是”如果满足某个条件,就执行A操作;否则执行B操作”。 比如: 如果订单状态是”处理中” → 同步到Airtable ;如果不是”处理中” → 统计订单总金额
这种”非此即彼”的判断逻辑,在n8n中通过If节点实现;若需处理多个条件分支(如状态为”处理中/已完成/已取消”分别处理),则使用Switch节点。
二、用If节点筛选n8n”处理中”订单
从HTTP接口获取的订单数据中,仅将状态为“processing“(处理中)的订单插入Airtable,其他状态(如“booked“已预订)用于统计总和。
1、在n8n流程中添加If节点
鼠标悬停在原HTTP请求节点与Airtable节点之间的连接箭头上;
选择HTTP Request (HTTP 请求) 节点和Airtable (Airtable ) 节点之间的 + 号。
2、插入If节点
在搜索栏输入”If”,选择If节点添加到流程中。此时原连接会断开,需重新连接:
左侧连接HTTP请求节点的输出 ;
右侧暂不连接(后续配置完条件后再连)。
3、配置If节点的筛选条件
在If node (如果节点) 窗口中,配置参数:
- 通过以下步骤将占位符设置为 :value1{{ $json.orderStatus }}
- 将鼠标悬停在value1字段上;
- 选择value1字段右侧的Expression选项卡;
- 通过选择链接图标打开表达式编辑器:
使用左侧面板选择order Status > HTTP Request,并将其拖动到窗口中央的Expression字段中。
添加表达式后,关闭Edit Expression对话框。
- 作:选择>等于的字符串(请确保选择正确的数据类型(布尔值、日期和时间、数字或字符串));
- 将value2占位符设置为processing;
- 选择Execute step (执行步骤) 以测试If节点。
结果应如下所示:
注意具有order状态的订单应显示在True Branch输出中,而具有order状态的订单应显示在False Branch输出中。
完成后关闭If node detail (If 节点详细信息) 视图。
三、将数据插入Airtable
接下来想将此数据插入Airtable。由于Nathan只需要表中的订单,因此我们将Airtable节点连接到If节点的连接器。
在这种情况下,由于Airtable节点已经在我们的画布上,因此选择If节点连接器并将其拖到Airtable节点。
此时最好重新测试Airtable节点。在此之前请在Airtable中打开表并删除所有现有行。然后在n8n中打开Airtable节点窗口并选择Execute step。
在Airtable中查看数据,确保工作流程仅添加了正确的顺序(具有orderStatus的订单)。现在应该有 14 条记录。
在此阶段,n8n工作流程应如下所示:





