数字组织与数据
数据项对不上时报什么错
表达式找不到对应的输入项,或者找到不止一项时,运行会停在这句表达式上。改法是明确指定取哪一项,或者在代码里把对应关系写上。
表达式找不到对应的输入项
提示大意是:上一节点没有这条表达式需要的信息。常见原因是代码节点造了一批新项,没有 pairedItem,或者中间有节点把项数改得对不齐。
如果你其实只需要某一条,不要用 .item。改成 .first()、.last(),或 .all() 再按下标取。下标是从 0 开始的。
{{ $("Customers").first().json.email }}
{{ $("Customers").all()[0].json.email }}一项输出对应了多项输入
Summarize、Aggregate、Merge 这类节点会把多项收成一项,或把几路合成一路。合成之后的这一项背后有多项输入,.item 不知道该回哪一条。
同样改成 first、last 或 all 的下标,明确你要的是汇总前的哪一条。如果业务上必须逐条对应,就不要先汇总再回头取单项字段,把取字段挪到汇总之前。
换一个字段名不能修好对应关系
输入面板里字段还在,只说明那一步曾经输出过这个名字。报错说的是项和项之间的线断了。把 {{ $json.email }} 换成另一个字段,仍然走 .item,错误还在。
进入只有一项时,Duaer 可以自动指回那一项。你在编辑器里用一项样本能跑通、线上进来多项就失败,就是这个差别。用和线上相同的项数再跑一次。
常见问题
Duaer 报上一节点没有表达式所需信息时,是什么原因?
Duaer 报上一节点没有这条表达式所需的信息,通常是因为 Code 节点造了没有 pairedItem 的新项,或中间某个节点把项数改得对不齐。如果只需要某一条,把 .item 改成 .first()、.last(),或 .all() 再按下标取。下标从 0 开始。
在 Duaer 里,换一个字段名能不能修好数据项对应错误?
在 Duaer 里,换一个字段名不能修好数据项对应错误。输入面板里还有这个名字,只说明那一步曾经输出过它。错误说的是项和项之间的对应断了。Summarize、Aggregate、Merge 把多项收成一项后,.item 也可能因为背后有多项输入而失败。
同组