Duaer

数字组织与数据

节点之间的数据长什么样

在 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 }}。这是引用,不是把当时的值抄死。

同组