如何在mulesoft ftp创建步骤中从有效负载中排除列?(有效载荷是一个对象数组)



这里是FTP创建代码:

%dw 2.0
output application/csv separator='|',
header = false
---
payload distinctBy $.integrationid orderBy $.integrationidl
- "integrationid" - "integrationidl"

在上面的代码中,我想使用integrationid和integrationdl列进行排序。但我不希望这些列从有效载荷中打印到CSV文件中。我根据mulesoft文档尝试了上面的代码,但它不起作用。很可能是因为它是一个数组。你能帮助我们如何做到这一点吗?

函数的返回是一个数组。应用于对象和字符串的-运算符按键名从对象中删除键对。不能将其应用于数组。这意味着您需要映射数组的每个元素,并从每个元素中移除关键点。
%dw 2.0
output application/csv separator='|', header=false
---
payload 
distinctBy $.integrationid
orderBy $.integrationidl
map $ - "integrationid" - "integrationidl"

代替-运算符的另一种选择是使用filterObject(),条件是过滤每个对象中保留的键值。优点是,我们可以将contains()与条件中的列名列表一起使用,以使脚本更通用。

%dw 2.0
output application/csv separator='|', header=false
var filterColumns=["integrationid", "integrationidl"]
---
payload 
distinctBy $.integrationid
orderBy $.integrationidl
map ($ filterObject !(filterColumns contains ($$ as String)))

最新更新