在使用 n8n 构建自动化流程时,你可能需要根据先前节点的数据、工作流程信息或 n8n 环境动态地设置节点参数,可以使用 n8n 的表达式功能。
什么是表达式?
表达式本质上是一些 JavaScript 代码片段,n8n 在执行过程中会对其进行解析和执行,并将结果用于设置节点参数。自 1.9.0 版本起,n8n 使用了新的模板语言来定义表达式。
表达式语法
n8n 表达式使用 ${{ }}
来包裹 JavaScript 代码。例如,要访问第一个节点的第一个输出项的 name
属性,可以使用以下表达式:
{{ $nodes[0].data[0].json.name }}
访问数据
表达式可以访问以下数据:
- 先前节点的数据: 通过
$nodes
对象访问。例如,$nodes[0].data
表示第一个节点的所有输出数据。 - 工作流程信息: 通过
$workflow
对象访问,例如$workflow.id
表示工作流程 ID。 - n8n 环境: 通过
$env
对象访问,例如$env.HOST
表示 n8n 实例的地址。
执行 JavaScript 代码
可以在表达式中使用任何有效的 JavaScript 代码,例如:
- 字符串操作:
{{ $nodes[0].data[0].json.name.toUpperCase() }}
将字符串转换为大写。 - 日期格式化:
{{ new Date().toISOString() }}
获取当前时间并格式化为 ISO 格式。 - 条件语句:
{{ $nodes[0].data.length > 0 ? $nodes[0].data[0].json.name : 'No data' }}
根据条件返回不同的值。
通过学习和使用 n8n 表达式,你可以轻松地创建更加灵活和强大的自动化工作流程。
#JavaScript #节点 #表达式