数字组织与数据
节点之间的数据长什么样
在 Duaer 里,一个节点交给下一个节点的是一组数据项。每一项里,普通字段放在 json,文件放在 binary。后面的节点按项逐条处理。
一项数据里有 json 和 binary
节点的输出是一个数组。数组里的每个对象是一项。一项至少有 json,里面是这一条的字段。有文件时,同一项上还有 binary。
表格视图里,嵌套对象会用加粗的字段名收起来。点开才能看到里面的键。表达式里要用点号走到那一层,不能只写最外层的名字。
[
{
"json": {
"customerId": "c-18",
"address": { "city": "Hangzhou" }
},
"binary": {
"invoice": {
"data": "<base64>",
"mimeType": "application/pdf",
"fileName": "invoice.pdf",
"fileExtension": "pdf"
}
}
}
]节点怎么消费这些项
大多数节点会按项执行:进来 20 项,这一步就跑 20 次,每次只看见当前这一项的 json。节点设置里的 Execute Once 是例外,它只拿第一项跑一遍。
从输入面板把一个字段拖进参数,生成的是指向这一项的表达式,例如 {{ $json.customerId }}。拖进去的是引用,不是把值抄死。上一步的值变了,下次运行这里跟着变。
代码节点和自定义节点
JavaScript 的 Code 节点如果忘了包一层 json,运行时会帮你补上。从 0.166.0 起,直接返回数组也可以。自定义节点没有这层补救,必须返回带 json 的项。
你返回的每一项,下一步都会当成独立的一条。返回一项还是多项,决定后面的节点跑几次,也决定数据项之间还能不能自动对上。对不上时见数据项在流程里怎么对应。
常见问题
Duaer 节点之间传递的一项数据包含什么?
在 Duaer 里,节点输出是数据项数组。每一项都有 json,里面是这条数据的字段。有文件时,同一项还有 binary。大多数节点按项执行:进来多少项,这一步就跑多少次。
在 Duaer 里,从输入面板拖一个字段会产生什么?
在 Duaer 里,把字段从输入面板拖进参数,会插入指向当前项的表达式,例如 {{ $json.customerId }}。这是引用,不是把当时的值抄死。
同组