Duaer

数字组织与数据

数据项在流程里怎么对应

每一项输出都记着它用了哪一项输入。表达式里的 .item 顺着这条对应关系往回找。项数一对一、一对多或只是重排时,对应可以自动建立。

为什么输出项要对应到输入项

后面的节点经常要回头读更早一步的字段,而不只是紧挨着的上一步。比如先查出客户,再查出订单,最后发信时仍要客户的邮箱。邮箱不在订单那一项里,就得沿着“这张订单来自哪个客户”找回去。

.item 做的就是这件事。它不是“数组里的第 0 条”,而是“和我这一条输出对应的那条输入”。

什么时候数据项会自动对应

  • 进来几项、出去几项,一一对应。第 2 项输出记住第 2 项输入。
  • 一项输入变成多项输出。这几项输出都记住同一项输入。
  • 项数相同,只是顺序变了。每一项仍然指回它原来的那项输入。
  • 进来只有一项时,后面多项都可以指回这一项,不用你额外标明。

什么时候数据项不会自动对应

出去的项数和进来的不一样,又不是“一项拆成多项”这种能说清的关系,自动对应会停。代码节点如果返回一批全新的对象,没有写 pairedItem,这些新项就不知道自己从哪来。

对不上时,使用 .item 的表达式会报错,而不是悄悄拿第 0 条凑数。怎么改,见数据项对不上时报什么错。代码里怎么标明,见在代码节点里标明对应哪一项

常见问题

Duaer 里的 .item 指的是哪一条数据?

在 Duaer 里,.item 指的是和当前输出项对应的那条输入项,不是数组里固定的第 0 条。每一项输出记着它用了哪一项输入,表达式顺着这个对应往回找更早节点上的字段。

Duaer 什么时候会自动建立数据项对应,什么时候不会?

Duaer 在项数一一对应、一项输入变成多项输出、项数相同只是顺序变了,或进来只有一项时,会自动建立对应。出去的项数对不上、又不是清楚的一对多,或者 Code 节点返回了没有 pairedItem 的新对象时,不会自动对应。

同组