Duaer

数字组织与数据

在代码节点里标明对应哪一项

代码节点要是返回了新的数据项,就在每一项上写 pairedItem,告诉后面的表达式这项来自哪一条输入。不写的话,.item 会报对不上。

一项输入对应一项输出时怎么写 pairedItem

按输入的顺序加工、并且仍然一项出一项时,pairedItem 写成那条输入的下标。下标从 0 开始,和你在循环里拿到的 i 一致。

const out = [];
for (let i = 0; i < items.length; i++) {
  out.push({
    json: { customerId: items[i].json.customerId, tier: "gold" },
    pairedItem: { item: i },
  });
}
return out;

一项输入拆成多项输出时怎么写 pairedItem

一条客户下面有多张订单,你把订单拆开逐条返回。这些新项都来自同一条输入,pairedItem 都写那个输入下标,而不是写 0、1、2 各自递增。

const out = [];
for (let i = 0; i < items.length; i++) {
  for (const order of items[i].json.orders) {
    out.push({
      json: { orderId: order.id },
      pairedItem: { item: i },
    });
  }
}
return out;

什么时候可以不写 pairedItem

输入只有一项时,不用写 pairedItem,后面的项会自动指回这一项。你只是在原项上改字段、一项仍对应一项,并且用的是会保留链接的返回方式时,也可以沿用自动对应。

一旦项数变了,或者你 new 了一个不带原来链接的对象,就按上面两种写法标明。标明之后,后面的节点才能用 .item 回到原来的客户,而不是改成 first 或写死下标。

常见问题

Duaer 的 Code 节点什么时候必须写 pairedItem?

Duaer 的 Code 节点在返回新的数据项、而且项数变了或新对象丢掉了原来的链接时,必须在每一项上写 pairedItem。pairedItem 的 item 是来源输入的下标,从 0 开始。一项输入拆成多项输出时,这些新项都写同一个输入下标。

Duaer 的 Code 节点什么时候可以不写 pairedItem?

Duaer 的 Code 节点在输入只有一项时可以不写 pairedItem,后面的项会自动指回那一项。只在原项上改字段、仍然一项对应一项,并且返回方式保留原有链接时,也可以不写。

同组