开关#
使用Switch节点根据比较操作有条件地路由工作流。它类似于IF节点,但支持多个输出路由。
节点参数#
选择节点应使用的模式:
- 规则: 选择此模式可为每个输出构建匹配规则。
- 表达式: 选择此模式可通过编程方式编写表达式来返回输出索引。
节点配置取决于您选择的模式。
规则#
要配置此操作节点,请使用以下参数:
- Create Routing Rules to define comparison conditions.
- 使用数据类型下拉菜单选择条件的数据类型和比较操作类型。例如,要创建特定日期之后的规则,选择日期和时间 > 晚于。
- 根据所选数据类型和比较方式,条件和输入值会相应变化。有关各数据类型支持的全部比较操作,请参阅Available data type comparisons。
- 重命名输出: 开启此控件可将匹配数据放入的输出字段重命名。输入您想要的输出名称。
选择添加路由规则以添加更多规则。
规则选项#
您可以通过以下选项进一步配置该节点的操作:
- Fallback Output: Choose how to route the workflow when an item doesn't match any of the rules or conditions.
- 无: 忽略该项。这是默认行为。
- 额外输出: 将项目发送到一个额外的独立输出。
- 输出 0: 将项目发送到与匹配第一条规则相同的输出。
- 忽略大小写: 设置评估条件时是否忽略字母大小写(开启)或强制区分大小写(关闭)。
- 宽松类型验证: 设置是否希望n8n根据所选运算符尝试转换值类型(开启)或不转换(关闭)。
- 向所有匹配的输出发送数据: 设置是否将数据发送给所有符合条件的输出(开启),还是仅发送给第一个符合条件的输出(关闭)。
表达式#
要配置此操作的节点,请使用以下参数:
- 输出数量: 设置该节点应有多少个输出。
- 输出索引: 创建一个表达式来计算哪个输入项应路由到哪个输出。该表达式必须返回一个数字。
模板和示例#
相关资源#
有关在n8n中使用条件语句创建复杂逻辑的更多信息,请参阅Splitting with conditionals。
可用的数据类型比较#
字符串#
字符串数据类型支持以下比较:
- 存在
- 不存在
- 为空
- 不为空
- 等于
- 不等于
- 包含
- 不包含
- 以...开头
- 不以...开头
- 以...结尾
- 不以...结尾
- 匹配正则表达式
- 不匹配正则表达式
数字#
数字数据类型支持以下比较:
- 存在
- 不存在
- 为空
- 不为空
- 等于
- 不等于
- 大于
- 小于
- 大于或等于
- 小于或等于
日期与时间#
日期与时间数据类型支持以下比较:
- 存在
- 不存在
- 为空
- 不为空
- 等于
- 不等于
- 在之后
- 早于
- 晚于或等于
- 早于或等于
布尔值#
布尔数据类型支持以下比较:
- 存在
- 不存在
- 为空
- 不为空
- 为真
- 为假
- 等于
- 不等于
数组#
数组数据类型支持以下比较:
- 存在
- 不存在
- 为空
- 不为空
- 包含
- 不包含
- 长度等于
- 长度不等于
- 长度大于
- 长度小于
- 长度大于或等于
- 长度小于或等于
对象#
对象数据类型支持以下比较:
- 存在
- 不存在
- 为空
- 不为空